Skip to content

Commit eb28f9d

Browse files
author
Ravi Tandon
committed
Support for Fast Connect with spec version 0.2.180
1 parent f6fc0f1 commit eb28f9d

File tree

52 files changed

+5552
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+5552
-1
lines changed

docs/Table of Contents.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,16 @@ This lists all of the available OCI resources and/or data sources.
88
* [Boot Volume Attachments](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/boot_volume_attachments.md)
99
* [Boot Volumes](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/boot_volumes.md)
1010
* [Console Histories](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/console_histories.md)
11-
* [CPEs](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/cpes.md)
11+
* [CPEs](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/cpes.md)
12+
* [Cross Connect Groups](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/cross_connect_groups.md)
13+
* [Cross Connect Locations](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/cross_connect_locations.md)
14+
* [Cross Connect Port Speed Shapes](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/cross_connect_port_speed_shapes.md)
15+
* [Cross Connect Statuses](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/cross_connect_statuses.md)
16+
* [Cross Connects](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/cross_connects.md)
1217
* [DHCP Options](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/dhcp_options.md)
1318
* [DRG Attachments](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/drg_attachments.md)
1419
* [DRGs](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/drgs.md)
20+
* [Fast Connect Provider Services](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/fast_connect_provider_services.md)
1521
* [Images](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/images.md)
1622
* [Instance Credentials](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/instance_credentials.md)
1723
* [Instance Console Connections](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/instance_console_connections.md)
@@ -20,6 +26,7 @@ This lists all of the available OCI resources and/or data sources.
2026
* [IPSec Connection Device Configs](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/ip_sec_connection_device_configs.md)
2127
* [IPSec Connection Device Statuses](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/ip_sec_connection_device_statuses.md)
2228
* [IPSec Connections](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/ip_sec_connections.md)
29+
* [Letter of Authorities](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/letter_of_authorities.md)
2330
* [Local Peering Gateways](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/local_peering_gateways.md)
2431
* [Peer Region For Remote Peerings](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/peer_region_for_remote_peerings.md)
2532
* [Private IPs](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/private_ips.md)
@@ -30,6 +37,9 @@ This lists all of the available OCI resources and/or data sources.
3037
* [Shapes](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/shapes.md)
3138
* [Subnets](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/subnets.md)
3239
* [VCNs](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/vcns.md)
40+
* [Virtual Circuit Bandwidth Shapes](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/virtual_circuit_bandwidth_shapes.md)
41+
* [Virtual Circuit Public Prefixes](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/virtual_circuit_public_prefixes.md)
42+
* [Virtual Circuits](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/virtual_circuits.md)
3343
* [VNIC Attachments](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/vnic_attachments.md)
3444
* [VNICs](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/vnics.md)
3545
* [Volume Attachments](https://github.com/oracle/terraform-provider-oci/tree/master/docs/core/volume_attachments.md)

docs/core/cross_connect_groups.md

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# oci_core_cross_connect_group
2+
3+
## CrossConnectGroup Resource
4+
5+
### CrossConnectGroup Reference
6+
7+
The following attributes are exported:
8+
9+
* `compartment_id` - The OCID of the compartment containing the cross-connect group.
10+
* `display_name` - The display name of A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
11+
* `id` - The cross-connect group's Oracle ID (OCID).
12+
* `state` - The cross-connect group's current state.
13+
* `time_created` - The date and time the cross-connect group was created, in the format defined by RFC3339. Example: `2016-08-25T21:10:29.600Z`
14+
15+
16+
17+
### Create Operation
18+
Creates a new cross-connect group to use with Oracle Cloud Infrastructure
19+
FastConnect. For more information, see
20+
[FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
21+
22+
For the purposes of access control, you must provide the OCID of the
23+
compartment where you want the cross-connect group to reside. If you're
24+
not sure which compartment to use, put the cross-connect group in the
25+
same compartment with your VCN. For more information about
26+
compartments and access control, see
27+
[Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
28+
For information about OCIDs, see
29+
[Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
30+
31+
You may optionally specify a *display name* for the cross-connect group.
32+
It does not have to be unique, and you can change it. Avoid entering confidential information.
33+
34+
35+
The following arguments are supported:
36+
37+
* `compartment_id` - (Required) The OCID of the compartment to contain the cross-connect group.
38+
* `display_name` - (Optional) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
39+
40+
41+
### Update Operation
42+
Updates the specified cross-connect group's display name.
43+
Avoid entering confidential information.
44+
45+
46+
The following arguments support updates:
47+
* `display_name` - A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
48+
49+
50+
** IMPORTANT **
51+
Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
52+
53+
### Example Usage
54+
55+
```hcl
56+
resource "oci_core_cross_connect_group" "test_cross_connect_group" {
57+
#Required
58+
compartment_id = "${var.compartment_id}"
59+
60+
#Optional
61+
display_name = "${var.cross_connect_group_display_name}"
62+
}
63+
```
64+
65+
66+
## CrossConnectGroup Singular DataSource
67+
68+
69+
### Get Operation
70+
Gets the specified cross-connect group's information.
71+
72+
The following arguments are supported:
73+
74+
* `cross_connect_group_id` - (Required) The OCID of the cross-connect group.
75+
76+
77+
### Example Usage
78+
79+
```hcl
80+
data "oci_core_cross_connect_group" "test_cross_connect_group" {
81+
#Required
82+
cross_connect_group_id = "${var.cross_connect_group_cross_connect_group_id}"
83+
}
84+
```
85+
# oci_core_cross_connect_groups
86+
87+
## CrossConnectGroup DataSource
88+
89+
Gets a list of cross_connect_groups.
90+
91+
### List Operation
92+
Lists the cross-connect groups in the specified compartment.
93+
94+
The following arguments are supported:
95+
96+
* `compartment_id` - (Required) The OCID of the compartment.
97+
* `display_name` - (Optional) A filter to return only resources that match the given display name exactly.
98+
* `state` - (Optional) A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
99+
100+
101+
The following attributes are exported:
102+
103+
* `cross_connect_groups` - The list of cross_connect_groups.
104+
105+
### Example Usage
106+
107+
```hcl
108+
data "oci_core_cross_connect_groups" "test_cross_connect_groups" {
109+
#Required
110+
compartment_id = "${var.compartment_id}"
111+
112+
#Optional
113+
display_name = "${var.cross_connect_group_display_name}"
114+
state = "${var.cross_connect_group_state}"
115+
}
116+
```
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
2+
# oci_core_cross_connect_locations
3+
4+
## CrossConnectLocation DataSource
5+
6+
Gets a list of cross_connect_locations.
7+
8+
### List Operation
9+
Lists the available FastConnect locations for cross-connect installation. You need
10+
this information so you can specify your desired location when you create a cross-connect.
11+
12+
The following arguments are supported:
13+
14+
* `compartment_id` - (Required) The OCID of the compartment.
15+
16+
17+
The following attributes are exported:
18+
19+
* `cross_connect_locations` - The list of cross_connect_locations.
20+
21+
### Example Usage
22+
23+
```hcl
24+
data "oci_core_cross_connect_locations" "test_cross_connect_locations" {
25+
#Required
26+
compartment_id = "${var.compartment_id}"
27+
}
28+
```
29+
### CrossConnectLocation Reference
30+
31+
The following attributes are exported:
32+
33+
* `description` - A description of the location.
34+
* `name` - The name of the location. Example: `CyrusOne, Chandler, AZ`
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
2+
# oci_core_cross_connect_port_speed_shapes
3+
4+
## CrossConnectPortSpeedShape DataSource
5+
6+
Gets a list of cross_connect_port_speed_shapes.
7+
8+
### List Operation
9+
Lists the available port speeds for cross-connects. You need this information
10+
so you can specify your desired port speed (that is, shape) when you create a
11+
cross-connect.
12+
13+
The following arguments are supported:
14+
15+
* `compartment_id` - (Required) The OCID of the compartment.
16+
17+
18+
The following attributes are exported:
19+
20+
* `cross_connect_port_speed_shapes` - The list of cross_connect_port_speed_shapes.
21+
22+
### Example Usage
23+
24+
```hcl
25+
data "oci_core_cross_connect_port_speed_shapes" "test_cross_connect_port_speed_shapes" {
26+
#Required
27+
compartment_id = "${var.compartment_id}"
28+
}
29+
```
30+
### CrossConnectPortSpeedShape Reference
31+
32+
The following attributes are exported:
33+
34+
* `name` - The name of the port speed shape. Example: `10 Gbps`
35+
* `port_speed_in_gbps` - The port speed in Gbps. Example: `10`
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# oci_core_cross_connect_status
2+
3+
## CrossConnectStatus Singular DataSource
4+
5+
### CrossConnectStatus Reference
6+
7+
The following attributes are exported:
8+
9+
* `cross_connect_id` - The OCID of the cross-connect.
10+
* `interface_state` - Whether Oracle's side of the interface is up or down.
11+
* `light_level_ind_bm` - The light level of the cross-connect (in dBm). Example: `14.0`
12+
* `light_level_indicator` - Status indicator corresponding to the light level. * **NO_LIGHT:** No measurable light * **LOW_WARN:** There's measurable light but it's too low * **HIGH_WARN:** Light level is too high * **BAD:** There's measurable light but the signal-to-noise ratio is bad * **GOOD:** Good light level
13+
14+
15+
16+
### Get Operation
17+
Gets the status of the specified cross-connect.
18+
19+
20+
The following arguments are supported:
21+
22+
* `cross_connect_id` - (Required) The OCID of the cross-connect.
23+
24+
25+
### Example Usage
26+
27+
```hcl
28+
data "oci_core_cross_connect_status" "test_cross_connect_status" {
29+
#Required
30+
cross_connect_id = "${oci_core_cross_connect.test_cross_connect.id}"
31+
}
32+
```

docs/core/cross_connects.md

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
# oci_core_cross_connect
2+
3+
## CrossConnect Resource
4+
5+
### CrossConnect Reference
6+
7+
The following attributes are exported:
8+
9+
* `compartment_id` - The OCID of the compartment containing the cross-connect group.
10+
* `cross_connect_group_id` - The OCID of the cross-connect group this cross-connect belongs to (if any).
11+
* `display_name` - A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
12+
* `id` - The cross-connect's Oracle ID (OCID).
13+
* `location_name` - The name of the FastConnect location where this cross-connect is installed.
14+
* `port_name` - A string identifying the meet-me room port for this cross-connect.
15+
* `port_speed_shape_name` - The port speed for this cross-connect. Example: `10 Gbps`
16+
* `state` - The cross-connect's current state.
17+
* `time_created` - The date and time the cross-connect was created, in the format defined by RFC3339. Example: `2016-08-25T21:10:29.600Z`
18+
19+
20+
21+
### Create Operation
22+
Creates a new cross-connect. Oracle recommends you create each cross-connect in a
23+
[CrossConnectGroup](https://docs.us-phoenix-1.oraclecloud.com/api/#/en/iaas/20160918/CrossConnectGroup) so you can use link aggregation
24+
with the connection.
25+
26+
After creating the `CrossConnect` object, you need to go the FastConnect location
27+
and request to have the physical cable installed. For more information, see
28+
[FastConnect Overview](https://docs.us-phoenix-1.oraclecloud.com/Content/Network/Concepts/fastconnect.htm).
29+
30+
For the purposes of access control, you must provide the OCID of the
31+
compartment where you want the cross-connect to reside. If you're
32+
not sure which compartment to use, put the cross-connect in the
33+
same compartment with your VCN. For more information about
34+
compartments and access control, see
35+
[Overview of the IAM Service](https://docs.us-phoenix-1.oraclecloud.com/Content/Identity/Concepts/overview.htm).
36+
For information about OCIDs, see
37+
[Resource Identifiers](https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/identifiers.htm).
38+
39+
You may optionally specify a *display name* for the cross-connect.
40+
It does not have to be unique, and you can change it. Avoid entering confidential information.
41+
42+
43+
The following arguments are supported:
44+
45+
* `compartment_id` - (Required) The OCID of the compartment to contain the cross-connect.
46+
* `cross_connect_group_id` - (Optional) The OCID of the cross-connect group to put this cross-connect in.
47+
* `display_name` - (Optional) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
48+
* `far_cross_connect_or_cross_connect_group_id` - (Optional) If you already have an existing cross-connect or cross-connect group at this FastConnect location, and you want this new cross-connect to be on a different router (for the purposes of redundancy), provide the OCID of that existing cross-connect or cross-connect group.
49+
* `location_name` - (Required) The name of the FastConnect location where this cross-connect will be installed. To get a list of the available locations, see [ListCrossConnectLocations](https://docs.us-phoenix-1.oraclecloud.com/api/#/en/iaas/20160918/CrossConnectLocation/ListCrossConnectLocations). Example: `CyrusOne, Chandler, AZ`
50+
* `near_cross_connect_or_cross_connect_group_id` - (Optional) If you already have an existing cross-connect or cross-connect group at this FastConnect location, and you want this new cross-connect to be on the same router, provide the OCID of that existing cross-connect or cross-connect group.
51+
* `port_speed_shape_name` - (Required) The port speed for this cross-connect. To get a list of the available port speeds, see [ListCrossConnectPortSpeedShapes](https://docs.us-phoenix-1.oraclecloud.com/api/#/en/iaas/20160918/CrossConnectPortSpeedShape/ListCrossconnectPortSpeedShapes). Example: `10 Gbps`
52+
* `is_active` - (Optional) Set to true to activate the cross-connect. You activate it after the physical cabling is complete, and you've confirmed the cross-connect's light levels are good and your side of the interface is up. Activation indicates to Oracle that the physical connection is ready.
53+
54+
55+
### Update Operation
56+
Updates the specified cross-connect.
57+
58+
The following arguments support updates:
59+
* `display_name` - A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
60+
* `is_active` - (Optional) Set to true to activate the cross-connect. You activate it after the physical cabling is complete, and you've confirmed the cross-connect's light levels are good and your side of the interface is up. Activation indicates to Oracle that the physical connection is ready.
61+
62+
63+
** IMPORTANT **
64+
Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
65+
66+
### Example Usage
67+
68+
```hcl
69+
resource "oci_core_cross_connect" "test_cross_connect" {
70+
#Required
71+
compartment_id = "${var.compartment_id}"
72+
location_name = "${var.cross_connect_location_name}"
73+
port_speed_shape_name = "${var.cross_connect_port_speed_shape_name}"
74+
75+
#Optional
76+
cross_connect_group_id = "${oci_core_cross_connect_group.test_cross_connect_group.id}"
77+
display_name = "${var.cross_connect_display_name}"
78+
far_cross_connect_or_cross_connect_group_id = "${oci_core_far_cross_connect_or_cross_connect_group.test_far_cross_connect_or_cross_connect_group.id}"
79+
near_cross_connect_or_cross_connect_group_id = "${oci_core_near_cross_connect_or_cross_connect_group.test_near_cross_connect_or_cross_connect_group.id}"
80+
}
81+
```
82+
83+
84+
## CrossConnect Singular DataSource
85+
86+
87+
### Get Operation
88+
Gets the specified cross-connect's information.
89+
90+
The following arguments are supported:
91+
92+
* `cross_connect_id` - (Required) The OCID of the cross-connect.
93+
94+
95+
### Example Usage
96+
97+
```hcl
98+
data "oci_core_cross_connect" "test_cross_connect" {
99+
#Required
100+
cross_connect_id = "${var.cross_connect_cross_connect_id}"
101+
}
102+
```
103+
# oci_core_cross_connects
104+
105+
## CrossConnect DataSource
106+
107+
Gets a list of cross_connects.
108+
109+
### List Operation
110+
Lists the cross-connects in the specified compartment. You can filter the list
111+
by specifying the OCID of a cross-connect group.
112+
113+
The following arguments are supported:
114+
115+
* `compartment_id` - (Required) The OCID of the compartment.
116+
* `cross_connect_group_id` - (Optional) The OCID of the cross-connect group.
117+
* `display_name` - (Optional) A filter to return only resources that match the given display name exactly.
118+
* `state` - (Optional) A filter to return only resources that match the specified lifecycle state. The value is case insensitive.
119+
120+
121+
The following attributes are exported:
122+
123+
* `cross_connects` - The list of cross_connects.
124+
125+
### Example Usage
126+
127+
```hcl
128+
data "oci_core_cross_connects" "test_cross_connects" {
129+
#Required
130+
compartment_id = "${var.compartment_id}"
131+
132+
#Optional
133+
cross_connect_group_id = "${oci_core_cross_connect_group.test_cross_connect_group.id}"
134+
display_name = "${var.cross_connect_display_name}"
135+
state = "${var.cross_connect_state}"
136+
}
137+
```

0 commit comments

Comments
 (0)