Merge pull request #14551 from hashicorp/f-add-opc-docs-back

provider/opc: add missing documentation back from opc provider
This commit is contained in:
Jake Champlin 2017-05-16 13:41:22 -04:00 committed by GitHub
commit 40372d443f
26 changed files with 1454 additions and 0 deletions

View File

@ -0,0 +1,49 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_network_interface"
sidebar_current: "docs-opc-datasource-network-interface"
description: |-
Gets information about the configuration of an instance's network interface
---
# opc\_compute\_network\_interface
Use this data source to access the configuration of an instance's network interface
## Example Usage
```hcl
data "opc_compute_network_interface" "foo" {
instance_id = "${opc_compute_instance.my_instance.id}"
instance_name = "${opc_compute_instance.my_instance.name}"
interface = "eth0"
}
output "mac_address" {
value = "${data.opc_compute_network_interface.foo.mac_address}"
}
output "vnic" {
value = "${data.opc_compute_network_interface.foo.vnic}"
}
```
## Argument Reference
* `instance_name` is the name of the instance.
* `instance_id` is the id of the instance.
* `interface` is the name of the attached interface. `eth0`, `eth1`, ... `eth9`.
## Attributes Reference
* `dns` - Array of DNS servers for the interface.
* `ip_address` - IP Address assigned to the interface.
* `ip_network` - The IP Network assigned to the interface.
* `mac_address` - The MAC address of the interface.
* `model` - The model of the NIC card used.
* `name_servers` - Array of name servers for the interface.
* `nat` - The IP Reservation (in IP Networks) associated with the interface.
* `search_domains` - The search domains that are sent through DHCP as option 119.
* `sec_lists` - The security lists the interface is added to.
* `shared_network` - Whether or not the interface is inside the Shared Network or an IP Network.
* `vnic` - The name of the vNIC created for the IP Network.
* `vnic_sets` - The array of vNIC Sets the interface was added to.

View File

@ -0,0 +1,38 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_vnic"
sidebar_current: "docs-opc-datasource-vnic"
description: |-
Gets information about the configuration of a Virtual NIC.
---
# opc\_compute\_vnic
Use this data source to access the configuration of a Virtual NIC.
## Example Usage
```hcl
data "opc_compute_vnic" "current" {
name = "my_vnic_name"
}
output "mac_address" {
value = "${data.opc_compute_vnic.current.mac_address}"
}
```
## Argument Reference
* `name` is the name of the Virtual NIC.
## Attributes Reference
* `description` is a description of the Virtual NIC.
* `mac_address` is the MAC Address of the Virtual NIC.
* `tags` is a list of Tags associated with the Virtual NIC.
* `transit_flag` is `true` if the Virtual NIC is of the type `transit`.
* `uri` is the Unique Resource Locator of the Virtual NIC.

View File

@ -0,0 +1,54 @@
---
layout: "opc"
page_title: "Provider: Oracle Public Cloud"
sidebar_current: "docs-opc-index"
description: |-
The Oracle Public Cloud provider is used to interact with the many resources supported by the Oracle Public Cloud. The provider needs to be configured with credentials for the Oracle Public Cloud API.
---
# Oracle Public Cloud Provider
The Oracle Public Cloud provider is used to interact with the many resources supported by the Oracle Public Cloud. The provider needs to be configured with credentials for the Oracle Public Cloud API.
Use the navigation to the left to read about the available resources.
## Example Usage
```hcl
# Configure the Oracle Public Cloud
provider "opc" {
user = "..."
password = "..."
identity_domain = "..."
endpoint = "..."
}
# Create an IP Reservation
resource "opc_compute_ip_reservation" "production" {
parent_pool = "/oracle/public/ippool"
permanent = true
}
```
## Argument Reference
The following arguments are supported:
* `user` - (Optional) The username to use, generally your email address. It can also
be sourced from the `OPC_USERNAME` environment variable.
* `password` - (Optional) The password associated with the username to use. It can also be sourced from
the `OPC_PASSWORD` environment variable.
* `identity_domain` - (Optional) The identity domain to use. It can also be sourced from
the `OPC_IDENTITY_DOMAIN` environment variable.
* `endpoint` - (Optional) The API endpoint to use, associated with your Oracle Public Cloud account. This is known as the `REST Endpoint` within the Oracle portal. It can also be sourced from the `OPC_ENDPOINT` environment variable.
* `max_retry_timeout` - (Optional) The maximum number of seconds to wait for a successful response when operating on resources within Oracle Public Cloud. It can also be sourced from the `OPC_MAX_RETRY_TIMEOUT` environment variable. Defaults to 3000 seconds.
## Testing
Credentials must be provided via the `OPC_USERNAME`, `OPC_PASSWORD`,
`OPC_IDENTITY_DOMAIN` and `OPC_ENDPOINT` environment variables in order to run
acceptance tests.

View File

@ -0,0 +1,45 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_acl"
sidebar_current: "docs-opc-resource-acl"
description: |-
Creates and manages an ACL in an OPC identity domain.
---
# opc\_compute\_acl
The ``opc_compute_acl`` resource creates and manages an ACL in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_acl" "default" {
name = "ACL1"
description = "This is a description for an acl"
tags = ["tag1", "tag2"]
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the ACL.
* `enabled` - (Optional) Enables or disables the ACL. Set to true by default.
* `description` - (Optional) A description of the ACL.
* `tags` - (Optional) List of tags that may be applied to the ACL.
In addition to the above, the following values are exported:
* `uri` - The Uniform Resource Identifier for the ACL
## Import
ACL's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_acl.acl1 example
```

View File

@ -0,0 +1,39 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_image_list"
sidebar_current: "docs-opc-resource-image-list-type"
description: |-
Creates and manages an Image List in an OPC identity domain.
---
# opc\_compute\_image\_list
The ``opc_compute_image_list`` resource creates and manages an Image List in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_image_list" "test" {
name = "imagelist1"
description = "This is a description of the Image List"
default = 21
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the Image List.
* `description` - (Required) A description of the Image List.
* `default` - (Required) The image list entry to be used, by default, when launching instances using this image list. Defaults to `1`.
## Import
Image List's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_image_list.imagelist1 example
```

View File

@ -0,0 +1,58 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_image_list_entry"
sidebar_current: "docs-opc-resource-image-list-entry"
description: |-
Creates and manages an Image List Entry in an OPC identity domain.
---
# opc\_compute\_image\_list_entry
The ``opc_compute_image_list_entry`` resource creates and manages an Image List Entry in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_image_list" "test" {
name = "imagelist1"
description = "This is a description of the Image List"
default = 21
}
resource "opc_compute_image_list_entry" "test" {
name = "${opc_compute_image_list.test.name}"
machine_images = [ "/oracle/public/oel_6.7_apaas_16.4.5_1610211300" ]
version = 1
attributes = <<JSON
{
"foo": "bar"
}
JSON
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the Image List.
* `machine_images` - (Required) An array of machine images.
* `version` - (Required) The unique version of the image list entry, as an integer.
* `attributes` - (Optional) JSON String of optional data that will be passed to an instance of this machine image when it is launched.
## Attributes Reference
In addition to the above arguments, the following attributes are exported
* `uri` - The Unique Resource Identifier for the Image List Entry.
## Import
Image List's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_image_list_entry.entry1 example
```

View File

@ -0,0 +1,198 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_instance"
sidebar_current: "docs-opc-resource-instance"
description: |-
Creates and manages an instance in an OPC identity domain.
---
# opc\_compute\_instance
The ``opc_compute_instance`` resource creates and manages an instance in an OPC identity domain.
~> **Caution:** The ``opc_compute_instance`` resource can completely delete your
instance just as easily as it can create it. To avoid costly accidents,
consider setting
[``prevent_destroy``](/docs/configuration/resources.html#prevent_destroy)
on your instance resources as an extra safety measure.
## Example Usage
```hcl
resource "opc_compute_ip_network" "test" {
name = "internal-network"
description = "Terraform Provisioned Internal Network"
ip_address_prefix = "10.0.1.0/24"
public_napt_enabled = false
}
resource "opc_compute_storage_volume" "test" {
name = "internal"
size = 100
}
resource "opc_compute_instance" "test" {
name = "instance1"
label = "Terraform Provisioned Instance"
shape = "oc3"
image_list = "/oracle/public/oel_6.7_apaas_16.4.5_1610211300"
storage {
volume = "${opc_compute_storage_volume.test.name}"
index = 1
}
networking_info {
index = 0
nat = ["ippool:/oracle/public/ippool"]
shared_network = true
}
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the instance.
* `shape` - (Required) The shape of the instance, e.g. `oc4`.
* `instance_attributes` - (Optional) A JSON string of custom attributes. See [Attributes](#attributes) below for more information.
* `boot_order` - (Optional) The index number of the bootable storage volume, presented as a list, that should be used to boot the instance. The only valid value is `[1]`. If you set this attribute, you must also specify a bootable storage volume with index number 1 in the volume sub-parameter of storage_attachments. When you specify boot_order, you don't need to specify the imagelist attribute, because the instance is booted using the image on the specified bootable storage volume. If you specify both boot_order and imagelist, the imagelist attribute is ignored.
* `hostname` - (Optional) The host name assigned to the instance. On an Oracle Linux instance, this host name is displayed in response to the hostname command. Only relative DNS is supported. The domain name is suffixed to the host name that you specify. The host name must not end with a period. If you don't specify a host name, then a name is generated automatically.
* `image_list` - (Optional) The imageList of the instance, e.g. `/oracle/public/oel_6.4_2GB_v1`.
* `label` - (Optional) The label to apply to the instance.
* `networking_info` - (Optional) Information pertaining to an individual network interface to be created and attached to the instance. See [Networking Info](#networking-info) below for more information.
* `storage` - (Optional) Information pertaining to an individual storage attachment to be created during instance creation. Please see [Storage Attachments](#storage-attachments) below for more information.
* `reverse_dns` - (Optional) If set to `true` (default), then reverse DNS records are created. If set to `false`, no reverse DNS records are created.
* `ssh_keys` - (Optional) A list of the names of the SSH Keys that can be used to log into the instance.
* `tags` - (Optional) A list of strings that should be supplied to the instance as tags.
## Attributes
During instance creation, there are several custom attributes that a user may wish to make available to the instance during instance creation.
These attributes can be specified via the `instance_attributes` field, and must be presented as a string in JSON format.
The easiest way to populate this field is with a HEREDOC:
```hcl
resource "opc_compute_instance" "foo" {
name = "test"
label = "test"
shape = "oc3"
imageList = "/oracle/public/oel_6.4_2GB_v1"
instance_attributes = <<JSON
{
"foo": "bar",
"baz": 42,
"my_obj": {
"my_key": false,
"another": true
}
}
JSON
sshKeys = ["${opc_compute_ssh_key.key1.name}"]
}
```
This allows the user to have full control over the attributes supplied to an instance during instance creation.
There are, as well, some attributes that get populated during instance creation, and the full attributes map can be seen
via the exported `attributes` attribute.
**Warning:** Due to how Terraform imports resources, the `instance_attributes` field will _only_ be populated
when creating a new instance _with terraform_. This requires us to ignore any state diffs on changes to the `instance_attributes` field.
Thus, any configuration changes in the `instance_attributes` field, will not register a diff during a `plan` or `apply`.
If a user wishes to make a change solely to the supplied instance attributes, and recreate the instance resource, `terraform taint` is the best solution.
You can read more about the `taint` command [here](https://www.terraform.io/docs/commands/taint.html)
## Networking Info
Each `networking_info` config manages a single network interface for the instance.
The attributes are either required or optional depending on whether or not the interface is
in the Shared Network, or an IP Network. Some attributes can only be used if the interface is in the Shared
Network, and same for an interface in an IP Network.
The following attributes are supported:
* `index` - (Required) The numerical index of the network interface. Specified as an integer to allow for use of `count`, but directly maps to `ethX`. ie: With `index` set to `0`, the interface `eth0` will be created. Can only be `0-9`.
* `dns` - (Optional) Array of DNS servers for the interface.
* `ip_address` - (Optional, IP Network Only) IP Address assigned to the interface.
* `ip_network` - (Optional, IP Network Only) The IP Network assigned to the interface.
* `mac_address` - (Optional, IP Network Only) The MAC address of the interface.
* `model` - (Required, Shared Network Only) The model of the NIC card used. Must be set to `e1000`.
* `name_servers` - (Optional) Array of name servers for the interface.
* `nat` - (Optional for IP Networks, Required for the Shared Network) The IP Reservations associated with the interface (IP Network).
Indicates whether a temporary or permanent public IP address should be assigned to the instance (Shared Network).
* `search_domains` - (Optional) The search domains that are sent through DHCP as option 119.
* `sec_lists` - (Optional, Shared Network Only) The security lists the interface is added to.
* `shared_network` - (Required) Whether or not the interface is inside the Shared Network or an IP Network.
* `vnic` - (Optional, IP Network Only) The name of the vNIC created for the IP Network.
* `vnic_sets` - (Optional, IP Network Only) The array of vNIC Sets the interface was added to.
## Storage Attachments
Each Storage Attachment config manages a single storage attachment that is created _during instance creation_.
This means that any storage attachments created during instance creation cannot be detached from the instance.
Use the `resource_storage_attachment` resource to manage storage attachments for instances if you wish to detach the
storage volumes at a later date.
The following attributes are supported:
* `index` - (Required) The Index number of the volume attachment. `1` is the boot volume for the instance. Values `1-10` allowed.
* `volume` - (Required) The name of the storage volume to attach to the instance.
In addition to the above attributes, the following attributes are exported for a storage volume
* `name` - Name of the storage volume attachment.
## Attributes Reference
In addition to the attributes listed above, the following attributes are exported:
* `id` - The `id` of the instance.
* `attributes` - The full attributes of the instance, as a JSON string.
* `availability_domain` - The availability domain the instance is in.
* `domain` - The default domain to use for the hostname and for DNS lookups.
* `entry` - Imagelist entry number.
* `fingerprint` - SSH server fingerprint presented by the instance.
* `image_format` - The format of the image.
* `ip_address` - The IP Address of the instance.
* `placement_requirements` - The array of placement requirements for the instance.
* `platform` - The OS Platform of the instance.
* `priority` - The priority at which the instance was ran.
* `quota_reservation` - Reference to the QuotaReservation, to be destroyed with the instance.
* `relationships` - The array of relationship specifications to be satisfied on instance placement.
* `resolvers` - Array of resolvers to be used instead of the default resolvers.
* `site` - The site the instance is running on.
* `start_time` - The launch time of the instance.
* `state` - The instance's state.
* `vcable_id` - vCable ID for the instance.
* `virtio` - Boolean that determines if the instance is a virtio device.
* `vnc_address` - The VNC address and port of the instance.
## Import
Instances can be imported using the Instance's combined `Name` and `ID` with a `/` character separating them.
If viewing an instance in the Oracle Web Console, the instance's `name` and `id` are the last two fields in the instances fully qualified `Name`
For example, in the Web Console an instance's fully qualified name is:
```
/Compute-<identify>/<user>@<account>/<instance_name>/<instance_id>
```
The instance can be imported as such:
```shell
$ terraform import opc_compute_instance.instance1 instance_name/instance_id
```

View File

@ -0,0 +1,48 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_ip_address_association"
sidebar_current: "docs-opc-resource-ip-address-association"
description: |-
Creates and manages an IP address association in an OPC identity domain, for an IP Network.
---
# opc\_compute\_ip\_address\_association
The ``opc_compute_ip_address_association`` resource creates and manages an IP address association between an IP address reservation and a virtual NIC in an OPC identity domain, for an IP Network.
## Example Usage
```hcl
resource "opc_compute_ip_address_association" "default" {
name = "PrefixSet1"
ip_address_reservation = "${opc_compute_ip_address_reservation.default.name}"
vnic = "${data.opc_compute_vnic.default.name}"
tags = ["tags1", "tags2"]
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the ip address association.
* `ip_address_reservation` - (Optional) The name of the NAT IP address reservation.
* `vnic` - (Optional) The name of the virtual NIC associated with this NAT IP reservation.
* `description` - (Optional) A description of the ip address association.
* `tags` - (Optional) List of tags that may be applied to the ip address association.
In addition to the above, the following variables are exported:
* `uri` - (Computed) The Uniform Resource Identifier of the ip address association.
## Import
IP Address Associations can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_ip_address_association.default example
```

View File

@ -0,0 +1,45 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_ip_address_prefix_set"
sidebar_current: "docs-opc-resource-ip-address-prefix-set"
description: |-
Creates and manages an IP address prefix set in an OPC identity domain.
---
# opc\_compute\_ip\_address\_prefix\_set
The ``opc_compute_ip_address_prefix_set`` resource creates and manages an IP address prefix set in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_ip_address_prefix_set" "default" {
name = "PrefixSet1"
prefixes = ["192.168.0.0/16", "172.120.0.0/24"]
tags = ["tags1", "tags2"]
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the ip address prefix set.
* `prefixes` - (Optional) List of CIDR IPv4 prefixes assigned in the virtual network.
* `description` - (Optional) A description of the ip address prefix set.
* `tags` - (Optional) List of tags that may be applied to the ip address prefix set.
In addition to the above, the following variables are exported:
* `uri` - (Computed) The Uniform Resource Identifier of the ip address prefix set.
## Import
IP Address Prefix Set can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_ip_address_prefix_set.default example
```

View File

@ -0,0 +1,46 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_ip_address_reservation"
sidebar_current: "docs-opc-resource-ip-address-reservation"
description: |-
Creates and manages an IP address reservation in an OPC identity domain for an IP Network.
---
# opc\_compute\_ip\_address\_reservation
The ``opc_compute_ip_address_reservation`` resource creates and manages an IP address reservation in an OPC identity domain, for an IP Network.
## Example Usage
```hcl
resource "opc_compute_ip_address_reservation" "default" {
name = "IPAddressReservation1"
ip_address_pool = "public-ippool"
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the ip address reservation.
* `ip_address_pool` - (Required) The IP address pool from which you want to reserve an IP address. Must be either `public-ippool` or `cloud-ippool`.
* `description` - (Optional) A description of the ip address reservation.
* `tags` - (Optional) List of tags that may be applied to the IP address reservation.
In addition to the above, the following attributes are exported:
* `ip_address` - Reserved NAT IPv4 address from the IP address pool.
* `uri` - The Uniform Resource Identifier of the ip address reservation
## Import
IP Address Reservations can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_ip_address_reservation.default example
```

View File

@ -0,0 +1,46 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_ip_association"
sidebar_current: "docs-opc-resource-ip-association"
description: |-
Creates and manages an IP association in an OPC identity domain for the Shared Network.
---
# opc\_compute\_ip\_association
The ``opc_compute_ip_association`` resource creates and manages an association between an IP address and an instance in
an OPC identity domain, for the Shared Network.
## Example Usage
```hcl
resource "opc_compute_ip_association" "instance1_reservation1" {
vcable = "${opc_compute_instance.test_instance.vcable}"
parentpool = "ipreservation:${opc_compute_ip_reservation.reservation1.name}"
}
```
## Argument Reference
The following arguments are supported:
* `vcable` - (Required) The vcable of the instance to associate the IP address with.
* `parentpool` - (Required) The pool from which to take an IP address. To associate a specific reserved IP address, use
the prefix `ipreservation:` followed by the name of the IP reservation. To allocate an IP address from a pool, use the
prefix `ippool:`, e.g. `ippool:/oracle/public/ippool`.
## Attributes Reference
The following attributes are exported:
* `name` The name of the IP Association
## Import
IP Associations can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_ip_association.association1 example
```

View File

@ -0,0 +1,62 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_ip_network"
sidebar_current: "docs-opc-resource-ip-network"
description: |-
Creates and manages an IP Network
---
# opc\_compute\_ip_network
The ``opc_compute_ip_network`` resource creates and manages an IP Network.
## Example Usage
```hcl
resource "opc_compute_ip_network" "foo" {
name = "my-ip-network"
description = "my IP Network"
ip_address_prefix = "10.0.1.0/24"
ip_network_exchange = "${opc_compute_ip_exchange.foo.name}"
public_napt_enabled = false
tags = ["tag1", "tag2"]
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the IP Network.
* `ip_address_prefix` - (Required) The IPv4 address prefix, in CIDR format.
* `description` - (Optional) The description of the IP Network.
* `ip_network_exchange` - (Optional) Specify the IP Network exchange to which the IP Network belongs to.
* `public_napt_enabled` - (Optional) If true, enable public internet access using NAPT for VNICs without any public IP Reservation. Defaults to `false`.
## Attributes Reference
The following attributes are exported:
* `name` - The name of the IP Network
* `ip_address_prefix` - The IPv4 address prefix, in CIDR format.
* `description` - The description of the IP Network.
* `ip_network_exchange` - The IP Network Exchange for the IP Network
* `public_napt_enabled` - Whether public internet access using NAPT for VNICs without any public IP Reservation or not.
* `uri` - Uniform Resource Identifier for the IP Network
## Import
IP Networks can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_ip_network.default example
```

View File

@ -0,0 +1,37 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_ip_network_exchange"
sidebar_current: "docs-opc-resource-ip-network-exchange"
description: |-
Creates and manages an IP network exchange in an OPC identity domain.
---
# opc\_compute\_ip\_network\_exchange
The ``opc_compute_ip_network_exchange`` resource creates and manages an IP network exchange in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_ip_network_exchange" "default" {
name = "NetworkExchange1"
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the ip network exchange.
* `description` - (Optional) A description of the ip network exchange.
* `tags` - (Optional) List of tags that may be applied to the IP network exchange.
## Import
IP Network Exchange's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_ip_network_exchange.exchange1 example
```

View File

@ -0,0 +1,43 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_ip_reservation"
sidebar_current: "docs-opc-resource-ip-reservation"
description: |-
Creates and manages an IP reservation in an OPC identity domain for the Shared Network.
---
# opc\_compute\_ip\_reservation
The ``opc_compute_ip_reservation`` resource creates and manages an IP reservation in an OPC identity domain for the Shared Network.
## Example Usage
```hcl
resource "opc_compute_ip_reservation" "reservation1" {
parent_pool = "/oracle/public/ippool"
permanent = true
tags = [ "test" ]
}
```
## Argument Reference
The following arguments are supported:
* `parent_pool` - (Required) The pool from which to allocate the IP address.
* `permanent` - (Required) Whether the IP address remains reserved even when it is no longer associated with an instance
(if true), or may be returned to the pool and replaced with a different IP address when an instance is restarted, or
deleted and recreated (if false).
* `name` - (Optional) Name of the IP Reservation. Will be generated if unspecified.
* `tags` - (Optional) List of tags that may be applied to the IP reservation.
## Import
IP Reservations can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_ip_reservations.reservation1 example
```

View File

@ -0,0 +1,60 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_route"
sidebar_current: "docs-opc-resource-route"
description: |-
Creates and manages a Route resource for an IP Network
---
# opc\_compute\_route
The ``opc_compute_route`` resource creates and manages a route for an IP Network.
## Example Usage
```hcl
resource "opc_compute_route" "foo" {
name = "my-route"
description = "my IP Network route"
admin_distance = 1
ip_address_prefix = "10.0.1.0/24"
next_hop_vnic_set = "${opc_compute_vnic_set.bar.name}"
tags = ["tag1", "tag2"]
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the route.
* `description` - (Optional) The description of the route.
* `admin_distance` - (Optional) The route's administrative distance. Defaults to `0`.
* `ip_address_prefix` - (Required) The IPv4 address prefix, in CIDR format, of the external network from which to route traffic.
* `next_hop_vnic_set` - (Required) Name of the virtual NIC set to route matching packets to. Routed flows are load-balanced among all the virtual NICs in the virtual NIC set.
## Attributes Reference
The following attributes are exported:
* `name` The name of the route
* `description` - The description of the route.
* `admin_distance` - The route's administrative distance. Defaults to `0`.
* `ip_address_prefix` - The IPv4 address prefix, in CIDR format, of the external network from which to route traffic.
* `next_hop_vnic_set` - Name of the virtual NIC set to route matching packets to. Routed flows are load-balanced among all the virtual NICs in the virtual NIC set.
## Import
Route's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_route.route1 example
```

View File

@ -0,0 +1,57 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_sec_rule"
sidebar_current: "docs-opc-resource-sec-rule"
description: |-
Creates and manages a sec rule in an OPC identity domain.
---
# opc\_compute\_sec\_rule
The ``opc_compute_sec_rule`` resource creates and manages a sec rule in an OPC identity domain, which joinstogether a source security list (or security IP list), a destination security list (or security IP list), and a security application.
## Example Usage
```hcl
resource "opc_compute_sec_rule" "test_rule" {
name = "test"
source_list = "seclist:${opc_compute_security_list.sec-list1.name}"
destination_list = "seciplist:${opc_compute_security_ip_list.sec-ip-list1.name}"
action = "permit"
application = "${opc_compute_security_application.spring-boot.name}"
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The unique (within the identity domain) name of the security rule.
* `description` - (Optional) A description for this security rule.
* `source_list` - (Required) The source security list (prefixed with `seclist:`), or security IP list (prefixed with
`seciplist:`).
* `destination_list` - (Required) The destination security list (prefixed with `seclist:`), or security IP list (prefixed with
`seciplist:`).
* `application` - (Required) The name of the application to which the rule applies.
* `action` - (Required) Whether to `permit`, `refuse` or `deny` packets to which this rule applies. This will ordinarily
be `permit`.
* `disabled` - (Optional) Whether to disable this security rule. This is useful if you want to temporarily disable a rule
without removing it outright from your Terraform resource definition. Defaults to `false`.
In addition to the above, the following values are exported:
* `uri` - The Uniform Resource Identifier of the sec rule.
## Import
Sec Rule's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_sec_rule.rule1 example
```

View File

@ -0,0 +1,57 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_security_application"
sidebar_current: "docs-opc-resource-security-application"
description: |-
Creates and manages a security application in an OPC identity domain.
---
# opc\_compute\_security\_application
The ``opc_compute_security_application`` resource creates and manages a security application in an OPC identity domain.
## Example Usage (TCP)
```hcl
resource "opc_compute_security_application" "tomcat" {
name = "tomcat"
protocol = "tcp"
dport = "8080"
}
```
## Example Usage (ICMP)
```hcl
resource "opc_compute_security_application" "tomcat" {
name = "tomcat"
protocol = "icmp"
icmptype = "echo"
icmpcode = "protocol"
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The unique (within the identity domain) name of the application
* `protocol` - (Required) The protocol to enable for this application. Must be one of
`tcp`, `udp`, `ah`, `esp`, `icmp`, `icmpv6`, `igmp`, `ipip`, `gre`, `mplsip`, `ospf`, `pim`, `rdp`, `sctp` or `all`.
* `dport` - (Required) The port, or range of ports, to enable for this application, e.g `8080`, `6000-7000`. This must be set if the `protocol` is set to `tcp` or `udp`.
* `icmptype` - (Optional) The ICMP type to enable for this application, if the `protocol` is `icmp`. Must be one of
`echo`, `reply`, `ttl`, `traceroute`, `unreachable`.
* `icmpcode` - (Optional) The ICMP code to enable for this application, if the `protocol` is `icmp`. Must be one of
`admin`, `df`, `host`, `network`, `port` or `protocol`.
## Import
Security Application's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_security_application.application1 example
```

View File

@ -0,0 +1,40 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_security_association"
sidebar_current: "docs-opc-resource-security-association"
description: |-
Creates and manages a security association in an OPC identity domain.
---
# opc\_compute\_security\_association
The ``opc_compute_security_association`` resource creates and manages an association between an instance and a security
list in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_security_association" "test_instance_sec_list_1" {
name = "association1"
vcable = "${opc_compute_instance.test_instance.vcable}"
seclist = "${opc_compute_security_list.sec_list1.name}"
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Optional) The Name for the Security Association. If not specified, one is created automatically. Changing this forces a new resource to be created.
* `vcable` - (Required) The `vcable` of the instance to associate to the security list.
* `seclist` - (Required) The name of the security list to associate the instance to.
## Import
Security Association's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_security_association.association1 example
```

View File

@ -0,0 +1,38 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_security_ip_list"
sidebar_current: "docs-opc-resource-security-list"
description: |-
Creates and manages a security IP list in an OPC identity domain.
---
# opc\_compute\_security\_ip\_list
The ``opc_compute_security_ip_list`` resource creates and manages a security IP list in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_security_ip_list" "sec_ip_list1" {
name = "sec-ip-list1"
ip_entries = ["217.138.34.4"]
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The unique (within the identity domain) name of the security IP list.
* `ip_entries` - (Required) The IP addresses to include in the list.
* `description` - (Optional) The description of the security ip list.
## Import
IP List's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_ip_list.list1 example
```

View File

@ -0,0 +1,41 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_security_list"
sidebar_current: "docs-opc-resource-security-list"
description: |-
Creates and manages a security list in an OPC identity domain.
---
# opc\_compute\_security\_list
The ``opc_compute_security_list`` resource creates and manages a security list in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_security_list" "sec_list1" {
name = "sec-list-1"
policy = "permit"
outbound_cidr_policy = "deny"
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The unique (within the identity domain) name of the security list.
* `policy` - (Required) The policy to apply to instances associated with this list. Must be one of `permit`,
`reject` (packets are dropped but a reply is sent) and `deny` (packets are dropped and no reply is sent).
* `output_cidr_policy` - (Required) The policy for outbound traffic from the security list. Must be one of `permit`,
`reject` (packets are dropped but a reply is sent) and `deny` (packets are dropped and no reply is sent).
## Import
Security List's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_security_list.list1 example
```

View File

@ -0,0 +1,65 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_security_protocol"
sidebar_current: "docs-opc-resource-security-protocol"
description: |-
Creates and manages an security protocol in an OPC identity domain.
---
# opc\_compute\_security\_protocol
The ``opc_compute_security_protocol`` resource creates and manages a security protocol in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_security_protocol" "default" {
name = "security-protocol-1"
dst_ports = ["2045-2050"]
src_ports = ["3045-3060"]
ip_protocol = "tcp"
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the security protocol.
* `dst_ports` (Optional) Enter a list of port numbers or port range strings.
Traffic is enabled by a security rule when a packet's destination port matches the
ports specified here.
For TCP, SCTP, and UDP, each port is a destination transport port, between 0 and 65535,
inclusive. For ICMP, each port is an ICMP type, between 0 and 255, inclusive.
If no destination ports are specified, all destination ports or ICMP types are allowed.
* `src_ports` (Optional) Enter a list of port numbers or port range strings.
Traffic is enabled by a security rule when a packet's source port matches the
ports specified here.
For TCP, SCTP, and UDP, each port is a source transport port,
between 0 and 65535, inclusive.
For ICMP, each port is an ICMP type, between 0 and 255, inclusive.
If no source ports are specified, all source ports or ICMP types are allowed.
* `ip_protocol` (Optional) The protocol used in the data portion of the IP datagram.
Permitted values are: tcp, udp, icmp, igmp, ipip, rdp, esp, ah, gre, icmpv6, ospf, pim, sctp,
mplsip, all.
Traffic is enabled by a security rule when the protocol in the packet matches the
protocol specified here. If no protocol is specified, all protocols are allowed.
* `description` - (Optional) A description of the security protocol.
* `tags` - (Optional) List of tags that may be applied to the security protocol.
In addition to the above, the following values are exported:
* `uri` - The Uniform Resource Identifier for the Security Protocol
## Import
ACL's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_security_protocol.default example
```

View File

@ -0,0 +1,62 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_security_rule"
sidebar_current: "docs-opc-resource-security-rule"
description: |-
Creates and manages a security rule in an OPC identity domain.
---
# opc\_compute\_security\_rule
The ``opc_compute_security_rule`` resource creates and manages a security rule in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_security_rule" "default" {
name = "SecurityRule1"
flow_direction = "ingress"
acl = "${opc_compute_acl.default.name}"
security_protocols = ["${opc_compute_security_protocol.default.name}"]
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The name of the security rule.
* `flow_direction` - (Required) Specify the direction of flow of traffic, which is relative to the instances, for this security rule. Allowed values are ingress or egress.
* `disabled` - (Optional) Whether to disable this security rule. This is useful if you want to temporarily disable a rule without removing it outright from your Terraform resource definition. Defaults to `false`.
* `acl` - (Optional) Name of the ACL that contains this security rule.
* `dst_ip_address_prefixes` - (Optional) List of IP address prefix set names to match the packet's destination IP address.
* `src_ip_address_prefixes` - (Optional) List of names of IP address prefix set to match the packet's source IP address.
* `dst_vnic_set` - (Optional) Name of virtual NIC set containing the packet's destination virtual NIC.
* `src_vnic_set` - (Optional) Name of virtual NIC set containing the packet's source virtual NIC.
* `security_protocols` - (Optional) List of security protocol object names to match the packet's protocol and port.
* `description` - (Optional) A description of the security rule.
* `tags` - (Optional) List of tags that may be applied to the security rule.
## Attributes Reference
In addition to the above, the following attributes are exported:
* `uri` - The Uniform Resource Identifier of the security rule.
## Import
Security Rule's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_security_rule.rule1 example
```

View File

@ -0,0 +1,40 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_ssh_key"
sidebar_current: "docs-opc-resource-ssh-key"
description: |-
Creates and manages an SSH key in an OPC identity domain.
---
# opc\_compute\_ssh_key
The ``opc_compute_ssh_key`` resource creates and manages an SSH key in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_ssh_key" "%s" {
name = "test-key"
key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqw6JwbjIk..."
enabled = true
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The unique (within this identity domain) name of the SSH key.
* `key` - (Required) The SSH key itself
* `enabled` - (Optional) Whether or not the key is enabled. This is useful if you want to temporarily disable an SSH key,
without removing it entirely from your Terraform resource definition. Defaults to `true`
## Import
SSH Key's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_ssh_key.key1 example
```

View File

@ -0,0 +1,82 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_storage_volume"
sidebar_current: "docs-opc-resource-storage-volume-type"
description: |-
Creates and manages a storage volume in an OPC identity domain.
---
# opc\_compute\_storage\_volume
The ``opc_compute_storage_volume`` resource creates and manages a storage volume in an OPC identity domain.
~> **Caution:** The ``opc_compute_storage_volume`` resource can completely delete your storage volume just as easily as it can create it. To avoid costly accidents, consider setting [``prevent_destroy``](/docs/configuration/resources.html#prevent_destroy) on your storage volume resources as an extra safety measure.
## Example Usage
```hcl
resource "opc_compute_storage_volume" "test" {
name = "storageVolume1"
description = "Description for the Storage Volume"
size = 10
tags = ["bar", "foo"]
}
```
## Example Usage (Bootable Volume)
```hcl
resource "opc_compute_image_list" "test" {
name = "imageList1"
description = "Description for the Image List"
}
resource "opc_compute_image_list_entry" "test" {
name = "${opc_compute_image_list.test.name}"
machine_images = [ "/oracle/public/oel_6.7_apaas_16.4.5_1610211300" ]
version = 1
}
resource "opc_compute_storage_volume" "test" {
name = "storageVolume1"
description = "Description for the Bootable Storage Volume"
size = 30
tags = ["first", "second"]
bootable = true
image_list = "${opc_compute_image_list.test.name}"
image_list_entry = "${opc_compute_image_list_entry.test.version}"
}
```
## Argument Reference
The following arguments are supported:
* `name` (Required) The name for the Storage Account.
* `description` (Optional) The description of the storage volume.
* `size` (Required) The size of this storage volume in GB. The allowed range is from 1 GB to 2 TB (2048 GB).
* `storage_type` - (Optional) - The Type of Storage to provision. Possible values are `/oracle/public/storage/latency` or `/oracle/public/storage/default`. Defaults to `/oracle/public/storage/default`.
* `bootable` - (Optional) Is the Volume Bootable? Defaults to `false`.
* `image_list` - (Optional) Defines an image list. Required if `bootable` is set to `true`, optional if set to `false`.
* `image_list_entry` - (Optional) Defines an image list entry. Required if `bootable` is set to `true`, optional if set to `false`.
* `tags` - (Optional) Comma-separated strings that tag the storage volume.
## Attributes Reference
The following attributes are exported:
* `hypervisor` - The hypervisor that this volume is compatible with.
* `machine_image` - Name of the Machine Image - available if the volume is a bootable storage volume.
* `managed` - Is this a Managed Volume?
* `platform` - The OS platform this volume is compatible with.
* `readonly` - Can this Volume be attached as readonly?
* `status` - The current state of the storage volume.
* `storage_pool` - The storage pool from which this volume is allocated.
* `uri` - Unique Resource Identifier of the Storage Volume.
## Import
Storage Volume's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_storage_volume.volume1 example
```

View File

@ -0,0 +1,59 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_storage_volume_snapshot"
sidebar_current: "docs-opc-resource-storage-volume-snapshot"
description: |-
Creates and manages a storage volume snapshot in an OPC identity domain.
---
# opc\_compute\_storage\_volume_snapshot
The ``opc_compute_storage_volume_snapshot`` resource creates and manages a storage volume snapshot in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_storage_volume_snapshot" "test" {
name = "storageVolume1"
description = "Description for the Storage Volume"
tags = ["bar", "foo"]
collocated = true
volume_name = "${opc_compute_storage_volume.foo.name}"
}
```
## Argument Reference
The following arguments are supported:
* `volume_name` (Required) The name of the storage volume to create the snapshot from.
* `description` (Optional) The description of the storage volume snapshot.
* `name` (Optional) The name of the storage volume snapshot. Will be generated if unspecified.
* `parent_volume_bootable` (Optional) A string value of whether or not the parent volume is 'bootable' or not. Defaults to `"false"`.
* `collocated` (Optional) Boolean specifying whether the snapshot is collocated or remote. Defaults to `false`.
* `tags` - (Optional) Comma-separated strings that tag the storage volume.
## Attributes Reference
In addition to the attributes above, the following attributes are exported:
* `account` - Account to use for snapshots.
* `machine_image_name` - The name of the machine image that's used in the boot volume from which this snapshot is taken.
* `size` - The size of the snapshot in GB.
* `property` - Where the snapshot is stored, whether collocated, or in the Oracle Storage Cloud Service instance.
* `platform` - The OS platform this snapshot is compatible with
* `snapshot_timestamp` - Timestamp of the storage snapshot, generated by storage server. The snapshot will contain data written to the original volume before this time.
* `snapshot_id` - The Oracle ID of the snapshot.
* `start_timestamp` - Timestamp when the snapshot was started.
* `status` - Status of the snapshot.
* `status_detail` - Details about the latest state of the storage volume snapshot.
* `status_timestamp` - Indicates the time that the current view of the storage volume snapshot was generated.
* `uri` - Uniform Resource Identifier
## Import
Storage Volume Snapshot's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_storage_volume_snapshot.volume1 example
```

View File

@ -0,0 +1,45 @@
---
layout: "opc"
page_title: "Oracle: opc_compute_vnic_set"
sidebar_current: "docs-opc-resource-vnic-set"
description: |-
Creates and manages a virtual NIC set in an OPC identity domain
---
# opc\_compute\_vnic\_set
The ``opc_compute_vnic_set`` resource creates and manages a virtual NIC set in an OPC identity domain.
## Example Usage
```hcl
resource "opc_compute_vnic_set" "test_set" {
name = "test_vnic_set"
description = "My vnic set"
applied_acls = ["acl1", "acl2"]
virtual_nics = ["nic1", "nic2", "nic3"]
tags = ["xyzzy", "quux"]
}
```
## Argument Reference
The following arguments are supported:
* `name` - (Required) The unique (within this identity domain) name of the virtual nic set.
* `description` - (Optional) A description of the virtual nic set.
* `applied_acls` - (Optional) A list of the ACLs to apply to the virtual nics in the set.
* `virtual_nics` - (Optional) List of virtual NICs associated with this virtual NIC set.
* `tags` - (Optional) A list of tags to apply to the storage volume.
## Import
VNIC Set's can be imported using the `resource name`, e.g.
```shell
$ terraform import opc_compute_vnic_set.set1 example
```