-
Notifications
You must be signed in to change notification settings - Fork 47
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Fabric Cloud Router and routing protocol terraform provider (#362)
- Adds new Fabric resources and datasources: - equinix_fabric_cloud_router - equinix_fabric_routingprotocol - Updates Fabric-go SDK version from v0.4.0(Fabric API v4.4) to v0.6.0(Fabric API v4.9) - Fabric API spec v.49 can be found at - https://app.swaggerhub.com/apis/equinix-api/fabric/4.9 - Replaces Datasource equinix_fabric_connection type attribute value GW_VC with IP_VC - Replaces Equinix Fabric Gateway with Equinix Fabric Cloud router - Includes terraform examples for the above 2 providers and all the related documentation updated - All related changes are listed on the release notes documented on the below link as part of June 2023 and Aug 2023 releases - https://developer.equinix.com/dev-docs/fabric/release-notes --------- Signed-off-by: Manu Bhat <[email protected]> Co-authored-by: Sabrina Wong <[email protected]> Co-authored-by: Cindy Bai <[email protected]> Co-authored-by: Sabrina Wong <[email protected]> Co-authored-by: Tim Hogarty <[email protected]>
- Loading branch information
1 parent
9eb6c28
commit 1709c24
Showing
52 changed files
with
3,793 additions
and
138 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
*.dll | ||
*.exe | ||
*.terraform.lock.hcl | ||
.DS_Store | ||
example.tf | ||
terraform.tfplan | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
--- | ||
# generated by https://github.com/hashicorp/terraform-plugin-docs | ||
page_title: "equinix_fabric_cloud_router Data Source - terraform-provider-equinix" | ||
subcategory: "" | ||
description: |- | ||
Fabric V4 API compatible data resource that allow user to fetch Fabric Cloud Router for a given UUID | ||
~> Note Equinix Fabric v4 resources and datasources are currently in Beta. The interfaces related to equinix_fabric_ resources and datasources may change ahead of general availability. Please, do not hesitate to report any problems that you experience by opening a new issue https://github.com/equinix/terraform-provider-equinix/issues/new?template=bug.md | ||
--- | ||
|
||
# equinix_fabric_clouder_router (Data Source) | ||
|
||
Fabric V4 API compatible data resource that allow user to fetch Fabric Cloud Router for a given UUID | ||
|
||
~> **Note** Equinix Fabric v4 resources and datasources are currently in Beta. The interfaces related to `equinix_fabric_` resources and datasources may change ahead of general availability. Please, do not hesitate to report any problems that you experience by opening a new [issue](https://github.com/equinix/terraform-provider-equinix/issues/new?template=bug.md) | ||
|
||
API documentation can be found here - https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#fabric-cloud-routers | ||
|
||
|
||
<!-- schema generated by tfplugindocs --> | ||
## Schema | ||
|
||
### Optional | ||
|
||
- `uuid` (String) Equinix-assigned Fabric Cloud Router identifier | ||
|
||
### Read-Only | ||
|
||
- `account` (Set of Object) Customer account information that is associated with this Fabric Cloud Router (see [below for nested schema](#nestedatt--account)) | ||
- `bgp_ipv4_routes_count` (Number) | ||
- `bgp_ipv6_routes_count` (Number) | ||
- `change_log` (Set of Object) Captures Fabric Cloud Router lifecycle change information (see [below for nested schema](#nestedatt--change_log)) | ||
- `connections_count` (Number) | ||
- `description` (String) Customer-provided Fabric Cloud Router description | ||
- `equinix_asn` (Number) Equinix ASN | ||
- `href` (String) Fabric Cloud Router URI information | ||
- `id` (String) The ID of this resource. | ||
- `location` (Set of Object) Fabric Cloud Router location (see [below for nested schema](#nestedatt--location)) | ||
- `name` (String) Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores | ||
- `notifications` (List of Object) Preferences for notifications on Fabric Cloud Router configuration or status changes (see [below for nested schema](#nestedatt--notifications)) | ||
- `order` (Set of Object) Order information related to this Fabric Cloud Router (see [below for nested schema](#nestedatt--order)) | ||
- `package` (Set of Object) Fabric Cloud Router package information (see [below for nested schema](#nestedatt--package)) | ||
- `project` (Block Set) Project information (see [below for nested schema](#nestedblock--project)) | ||
- `state` (String) Fabric Cloud Router overall state | ||
- `type` (String) Defines the Fabric Cloud Router type like XF_GATEWAY | ||
|
||
<a id="nestedatt--account"></a> | ||
### Nested Schema for `account` | ||
|
||
Read-Only: | ||
|
||
- `account_name` (String) | ||
- `account_number` (Number) | ||
- `global_cust_id` (String) | ||
- `global_org_id` (String) | ||
- `global_organization_name` (String) | ||
- `org_id` (Number) | ||
- `organization_name` (String) | ||
|
||
|
||
<a id="nestedatt--change_log"></a> | ||
### Nested Schema for `change_log` | ||
|
||
Read-Only: | ||
|
||
- `created_by` (String) | ||
- `created_by_email` (String) | ||
- `created_by_full_name` (String) | ||
- `created_date_time` (String) | ||
- `deleted_by` (String) | ||
- `deleted_by_email` (String) | ||
- `deleted_by_full_name` (String) | ||
- `deleted_date_time` (String) | ||
- `updated_by` (String) | ||
- `updated_by_email` (String) | ||
- `updated_by_full_name` (String) | ||
- `updated_date_time` (String) | ||
|
||
|
||
<a id="nestedatt--location"></a> | ||
### Nested Schema for `location` | ||
|
||
Read-Only: | ||
|
||
- `href` (String) | ||
- `ibx` (String) | ||
- `metro_code` (String) | ||
- `metro_name` (String) | ||
- `region` (String) | ||
|
||
|
||
<a id="nestedatt--notifications"></a> | ||
### Nested Schema for `notifications` | ||
|
||
Read-Only: | ||
|
||
- `emails` (List of String) | ||
- `send_interval` (String) | ||
- `type` (String) | ||
|
||
|
||
<a id="nestedatt--order"></a> | ||
### Nested Schema for `order` | ||
|
||
Read-Only: | ||
|
||
- `billing_tier` (String) | ||
- `order_id` (String) | ||
- `order_number` (String) | ||
- `purchase_order_number` (String) | ||
|
||
|
||
<a id="nestedatt--package"></a> | ||
### Nested Schema for `package` | ||
|
||
Read-Only: | ||
|
||
- `code` (String) | ||
|
||
|
||
<a id="nestedblock--project"></a> | ||
### Nested Schema for `project` | ||
|
||
Read-Only: | ||
|
||
- `href` (String) Unique Resource URL | ||
- `project_id` (String) Project Id | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,165 @@ | ||
--- | ||
# generated by https://github.com/hashicorp/terraform-plugin-docs | ||
page_title: "equinix_fabric_routing_protocol Data Source - terraform-provider-equinix" | ||
subcategory: "Fabric" | ||
description: |- | ||
Fabric V4 API compatible data resource that allow user to fetch routing protocol for a given UUID | ||
~> Note Equinix Fabric v4 resources and datasources are currently in Beta. The interfaces related to equinix_fabric_ resources and datasources may change ahead of general availability. Please, do not hesitate to report any problems that you experience by opening a new issue https://github.com/equinix/terraform-provider-equinix/issues/new?template=bug.md | ||
--- | ||
|
||
# equinix_fabric_routing_protocol (Data Source) | ||
|
||
Fabric V4 API compatible data resource that allow user to fetch routing protocol for a given UUID | ||
|
||
~> **Note** Equinix Fabric v4 resources and datasources are currently in Beta. The interfaces related to `equinix_fabric_` resources and datasources may change ahead of general availability. Please, do not hesitate to report any problems that you experience by opening a new [issue](https://github.com/equinix/terraform-provider-equinix/issues/new?template=bug.md) | ||
|
||
API documentation can be found here - https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#routing-protocols | ||
|
||
<!-- schema generated by tfplugindocs --> | ||
## Schema | ||
|
||
### Required | ||
|
||
- `connection_uuid` (String) Connection URI associated with Routing Protocol | ||
|
||
### Optional | ||
|
||
- `bfd` (Block Set) Bidirectional Forwarding Detection (see [below for nested schema](#nestedblock--bfd)) | ||
- `bgp_auth_key` (String) BGP authorization key | ||
- `bgp_ipv4` (Block Set) Routing Protocol BGP IPv4 (see [below for nested schema](#nestedblock--bgp_ipv4)) | ||
- `bgp_ipv6` (Block Set) Routing Protocol BGP IPv6 (see [below for nested schema](#nestedblock--bgp_ipv6)) | ||
- `customer_asn` (Number) Customer-provided ASN | ||
- `description` (String) Customer-provided Fabric Routing Protocol description | ||
- `direct_ipv4` (Block Set) Routing Protocol Direct IPv4 (see [below for nested schema](#nestedblock--direct_ipv4)) | ||
- `direct_ipv6` (Block Set) Routing Protocol Direct IPv6 (see [below for nested schema](#nestedblock--direct_ipv6)) | ||
- `name` (String) Routing Protocol name. An alpha-numeric 24 characters string which can include only hyphens and underscores | ||
- `type` (String) Defines the routing protocol type like BGP or DIRECT | ||
- `uuid` (String) Equinix-assigned routing protocol identifier | ||
|
||
### Read-Only | ||
|
||
- `change` (Set of Object) Routing Protocol configuration Changes (see [below for nested schema](#nestedatt--change)) | ||
- `change_log` (Set of Object) Captures Routing Protocol lifecycle change information (see [below for nested schema](#nestedatt--change_log)) | ||
- `equinix_asn` (Number) Equinix ASN | ||
- `href` (String) Routing Protocol URI information | ||
- `id` (String) The ID of this resource. | ||
- `operation` (Set of Object) Routing Protocol type-specific operational data (see [below for nested schema](#nestedatt--operation)) | ||
- `state` (String) Routing Protocol overall state | ||
|
||
<a id="nestedblock--bfd"></a> | ||
### Nested Schema for `bfd` | ||
|
||
Required: | ||
|
||
- `enabled` (Boolean) Bidirectional Forwarding Detection enablement | ||
|
||
Optional: | ||
|
||
- `interval` (String) Interval range between the received BFD control packets | ||
|
||
|
||
<a id="nestedblock--bgp_ipv4"></a> | ||
### Nested Schema for `bgp_ipv4` | ||
|
||
Required: | ||
|
||
- `customer_peer_ip` (String) Customer side peering ip | ||
|
||
Optional: | ||
|
||
- `enabled` (Boolean) Admin status for the BGP session | ||
|
||
Read-Only: | ||
|
||
- `equinix_peer_ip` (String) Equinix side peering ip | ||
|
||
|
||
<a id="nestedblock--bgp_ipv6"></a> | ||
### Nested Schema for `bgp_ipv6` | ||
|
||
Required: | ||
|
||
- `customer_peer_ip` (String) Customer side peering ip | ||
|
||
Optional: | ||
|
||
- `enabled` (Boolean) Admin status for the BGP session | ||
|
||
Read-Only: | ||
|
||
- `equinix_peer_ip` (String) Equinix side peering ip | ||
|
||
|
||
<a id="nestedblock--direct_ipv4"></a> | ||
### Nested Schema for `direct_ipv4` | ||
|
||
Required: | ||
|
||
- `equinix_iface_ip` (String) Equinix side Interface IP address | ||
|
||
|
||
<a id="nestedblock--direct_ipv6"></a> | ||
### Nested Schema for `direct_ipv6` | ||
|
||
Optional: | ||
|
||
- `equinix_iface_ip` (String) Equinix side Interface IP address | ||
|
||
|
||
<a id="nestedatt--change"></a> | ||
### Nested Schema for `change` | ||
|
||
Read-Only: | ||
|
||
- `href` (String) | ||
- `type` (String) | ||
- `uuid` (String) | ||
|
||
|
||
<a id="nestedatt--change_log"></a> | ||
### Nested Schema for `change_log` | ||
|
||
Read-Only: | ||
|
||
- `created_by` (String) | ||
- `created_by_email` (String) | ||
- `created_by_full_name` (String) | ||
- `created_date_time` (String) | ||
- `deleted_by` (String) | ||
- `deleted_by_email` (String) | ||
- `deleted_by_full_name` (String) | ||
- `deleted_date_time` (String) | ||
- `updated_by` (String) | ||
- `updated_by_email` (String) | ||
- `updated_by_full_name` (String) | ||
- `updated_date_time` (String) | ||
|
||
|
||
<a id="nestedatt--operation"></a> | ||
### Nested Schema for `operation` | ||
|
||
Read-Only: | ||
|
||
- `errors` (List of Object) (see [below for nested schema](#nestedobjatt--operation--errors)) | ||
|
||
<a id="nestedobjatt--operation--errors"></a> | ||
### Nested Schema for `operation.errors` | ||
|
||
Read-Only: | ||
|
||
- `additional_info` (List of Object) (see [below for nested schema](#nestedobjatt--operation--errors--additional_info)) | ||
- `correlation_id` (String) | ||
- `details` (String) | ||
- `error_code` (String) | ||
- `error_message` (String) | ||
- `help` (String) | ||
|
||
<a id="nestedobjatt--operation--errors--additional_info"></a> | ||
### Nested Schema for `operation.errors.additional_info` | ||
|
||
Read-Only: | ||
|
||
- `property` (String) | ||
- `reason` (String) | ||
|
||
|
Oops, something went wrong.