Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add routing protocols resource to terraform provider #436

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,11 @@
# Terraform specific files
terraform.tfplan
terraform.tfstate
*.terraform.lock.hcl
./*.tfstate
displague marked this conversation as resolved.
Show resolved Hide resolved
.terraform/
example.tf
terraform-provider-equinix
.terraform.lock.hcl
*.tfvars
*.terraform*

# Local Scripts
bin/
Expand Down
4 changes: 2 additions & 2 deletions docs/data-sources/equinix_fabric_routing_protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
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
Fabric V4 API compatible data resource that allows 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
Fabric V4 API compatible data resource that allows 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)

Expand Down
205 changes: 205 additions & 0 deletions docs/data-sources/equinix_fabric_routing_protocols.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_routing_protocols Resource - terraform-provider-equinix"
subcategory: "Fabric"
description: |-
Fabric V4 API compatible data resource that allows user to fetch routing protocols for a given routing protocol ids
~> 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?assignees=&labels=bug&projects=&template=bug.yml&title=%5BBug%5D%3A+equinix_fabric_routing_protocols
---

# equinix_fabric_routing_protocols (Data Source)

Fabric V4 API compatible data resource that allows user to fetch routing protocols for a given routing protocol ids

~> **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


## Example Usage

```hcl
provider "equinix" {
client_id = "<equinix_client_id>"
client_secret = "<equinix_client_secret>"
}

data "equinix_fabric_routing_protocols" "read_protocols" {
connection_uuid = "d7ab9902-4d89-4fc0-9a5f-9faea39d82a3"
direct_routing_protocol_uuid = "6534071e-6216-4943-b8c4-1d2f2f0cbb07"
bgp_routing_protocol_uuid = "c1c052d0-8da9-4918-94fc-3e507f3ebf6a"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `connection_uuid` (String) Connection URI associated with Routing Protocol
- `direct_routing_protocol_uuid` (String) Direct Routing Protocol URI
- `bgp_routing_protocol_uuid` (String) BGP Routing Protocol URI

### Read-Only

- `direct_routing_protocol` (Block Set) Direct Routing Protocol Details (see [below for nested schema](#nestedblock--direct))
- `bgp_routing_protocol` (Block Set) BGP Routing Protocol Details (see [below for nested schema](#nestedblock--bgp))
- `id` (String) The ID of this resource.

<a id="nestedblock--direct"></a>
### Nested Schema for `direct-routing-protocol`

Required:
- `name` (String) Routing Protocol name. An alpha-numeric 24 characters string which can include only hyphens and underscores
- `direct_ipv4` (Block Set) Routing Protocol Direct IPv4 (see [below for nested schema](#nestedblock--direct_ipv4))

Optional:
- `direct_ipv6` (Block Set) Routing Protocol Direct IPv6 (see [below for nested schema](#nestedblock--direct_ipv6))

Read-Only:
- `type` (String) Defines the routing protocol type like BGP or DIRECT
- `href` (String) Routing Protocol URI information
- `uuid` (String) Equinix-assigned routing protocol identifier
- `state` (String) Routing Protocol overall state
- `operation` (Set of Object) Routing Protocol type-specific operational data (see [below for nested schema](#nestedatt--operation))
- `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))

<a id="nestedblock--bgp"></a>
### Nested Schema for `bgp-routing-protocol`

Optional:
- `name` (String) Routing Protocol name. An alpha-numeric 24 characters string which can include only hyphens and underscores
- `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
- `equinix_asn` (Number) Equinix ASN
- `bgp_auth_key` (String) BGP authorization key
- `bfd` (Block Set) Bidirectional Forwarding Detection (see [below for nested schema](#nestedblock--bfd))

Read-Only:
- `type` (String) Defines the routing protocol type like BGP or DIRECT
- `href` (String) Routing Protocol URI information
- `uuid` (String) Equinix-assigned routing protocol identifier
- `state` (String) Routing Protocol overall state
- `operation` (Set of Object) Routing Protocol type-specific operational data (see [below for nested schema](#nestedatt--operation))
- `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))

<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)


4 changes: 2 additions & 2 deletions docs/resources/equinix_fabric_routing_protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
page_title: "equinix_fabric_routing_protocol Resource - terraform-provider-equinix"
subcategory: "Fabric"
description: |-
Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection
Fabric V4 API compatible resource allows creation and management of Equinix Fabric routing protocol
~> 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 (Resource)

Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection
Fabric V4 API compatible resource allows creation and management of Equinix Fabric routing protocol

~> **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)

Expand Down
Loading
Loading