From 9326fc5bad38d994b5d1329036d64dfc32a2a083 Mon Sep 17 00:00:00 2001 From: Tim Hogarty Date: Thu, 4 Jan 2024 15:18:14 -0800 Subject: [PATCH 1/3] Add example usage and remove error from port2port connection example --- .../equinix_fabric_cloud_router.md | 7 + .../data-sources/equinix_fabric_connection.md | 6 + docs/data-sources/equinix_fabric_port.md | 6 + docs/data-sources/equinix_fabric_ports.md | 10 +- .../equinix_fabric_routing_protocol.md | 8 + .../equinix_fabric_service_profile.md | 7 + .../equinix_fabric_service_profiles.md | 11 + docs/resources/equinix_fabric_cloud_router.md | 27 + docs/resources/equinix_fabric_connection.md | 491 ++++++++++++++++++ .../equinix_fabric_routing_protocol.md | 67 +++ .../equinix_fabric_service_profile.md | 35 +- .../v4/portConnectivity/port2portself/main.tf | 3 - 12 files changed, 673 insertions(+), 5 deletions(-) diff --git a/docs/data-sources/equinix_fabric_cloud_router.md b/docs/data-sources/equinix_fabric_cloud_router.md index 35db0c8b1..c0de45f6f 100644 --- a/docs/data-sources/equinix_fabric_cloud_router.md +++ b/docs/data-sources/equinix_fabric_cloud_router.md @@ -15,6 +15,13 @@ Fabric V4 API compatible data resource that allow user to fetch Fabric Cloud Rou API documentation can be found here - https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#fabric-cloud-routers +## Example Usage + +```hcl +data "equinix_fabric_cloud_router" "cloud_router_data_name" { + uuid = "" +} +``` ## Schema diff --git a/docs/data-sources/equinix_fabric_connection.md b/docs/data-sources/equinix_fabric_connection.md index f5286255f..63d78aa36 100644 --- a/docs/data-sources/equinix_fabric_connection.md +++ b/docs/data-sources/equinix_fabric_connection.md @@ -13,7 +13,13 @@ Fabric V4 API compatible data resource that allow user to fetch connection for a ~> **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) +## Example Usage +```hcl +data "equinix_fabric_connection" "connection_data_name" { + uuid = "" +} +``` ## Schema diff --git a/docs/data-sources/equinix_fabric_port.md b/docs/data-sources/equinix_fabric_port.md index 407a7ad60..c68138dea 100644 --- a/docs/data-sources/equinix_fabric_port.md +++ b/docs/data-sources/equinix_fabric_port.md @@ -13,7 +13,13 @@ Fabric V4 API compatible data resource that allow user to fetch port by 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) +## Example Usage +```hcl +data "equinix_fabric_port" "port_data_name" { + uuid = "" +} +``` ## Schema diff --git a/docs/data-sources/equinix_fabric_ports.md b/docs/data-sources/equinix_fabric_ports.md index 941c3cbe8..5d542f338 100644 --- a/docs/data-sources/equinix_fabric_ports.md +++ b/docs/data-sources/equinix_fabric_ports.md @@ -13,7 +13,15 @@ Fabric V4 API compatible data resource that allow user to fetch port by name ~> **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) - +## Example Usage + +```hcl +data "equinix_fabric_ports" "ports_data_name" { + filters { + name = "" + } +} +``` ## Schema diff --git a/docs/data-sources/equinix_fabric_routing_protocol.md b/docs/data-sources/equinix_fabric_routing_protocol.md index d32eb9bc4..583e97f8f 100644 --- a/docs/data-sources/equinix_fabric_routing_protocol.md +++ b/docs/data-sources/equinix_fabric_routing_protocol.md @@ -15,6 +15,14 @@ Fabric V4 API compatible data resource that allow user to fetch routing protocol API documentation can be found here - https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#routing-protocols +## Example Usage + +```hcl +data "equinix_fabric_routing_protocol" "routing_protocol_data_name" { + uuid = "" +} +``` + ## Schema diff --git a/docs/data-sources/equinix_fabric_service_profile.md b/docs/data-sources/equinix_fabric_service_profile.md index 24055c696..e0ac89627 100644 --- a/docs/data-sources/equinix_fabric_service_profile.md +++ b/docs/data-sources/equinix_fabric_service_profile.md @@ -14,6 +14,13 @@ Fabric V4 API compatible data resource that allow user to fetch Service Profile ~> **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 +## Example Usage + +```hcl +data "equinix_fabric_service_profile" "service_profile_data_name" { + uuid = "" +} +``` ## Schema diff --git a/docs/data-sources/equinix_fabric_service_profiles.md b/docs/data-sources/equinix_fabric_service_profiles.md index a2f17cfa5..5db905758 100644 --- a/docs/data-sources/equinix_fabric_service_profiles.md +++ b/docs/data-sources/equinix_fabric_service_profiles.md @@ -14,6 +14,17 @@ Fabric V4 API compatible data resource that allow user to fetch Service Profile ~> **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) +## Example Usage + +```hcl +data "equinix_fabric_service_profiles" "service_profiles_data_name" { + filter { + property = "/name" + operator = "=" + values = [""] + } +} +``` ## Schema diff --git a/docs/resources/equinix_fabric_cloud_router.md b/docs/resources/equinix_fabric_cloud_router.md index 572dcc657..4f2c64603 100644 --- a/docs/resources/equinix_fabric_cloud_router.md +++ b/docs/resources/equinix_fabric_cloud_router.md @@ -15,6 +15,33 @@ Fabric V4 API compatible resource allows creation and management of Equinix Fabr API documentation can be found here - https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#fabric-cloud-routers +## Example Usage + +```hcl +resource "equinix_fabric_cloud_router" "new_cloud_router"{ + name = "Router-SV" + type = "XF_ROUTER" + notifications{ + type = "ALL" + emails = ["example@equinix.com","test1@equinix.com"] + } + order { + purchase_order_number = "1-323292" + } + location { + metro_code = "SV" + } + package { + code = "PRO" + } + project { + project_id = "776847000642406" + } + account { + account_number = "203612" + } +} +``` ## Schema diff --git a/docs/resources/equinix_fabric_connection.md b/docs/resources/equinix_fabric_connection.md index a54d82f4b..d63abb25d 100644 --- a/docs/resources/equinix_fabric_connection.md +++ b/docs/resources/equinix_fabric_connection.md @@ -13,6 +13,497 @@ Fabric V4 API compatible resource allows creation and management of Equinix Fabr ~> **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) +## Example Usage + +Port to Port EVPL_VC Connection: +```hcl +resource "equinix_fabric_connection" "port2port" { + name = "ConnectionName" + type = "EVPL_VC" + notifications { + type = "ALL" + emails = ["example@equinix.com","test1@equinix.com"] + } + bandwidth = 50 + order { + purchase_order_number= "1-323292" + } + a_side { + access_point { + type = "COLO" + port { + uuid = "" + } + link_protocol { + type = "QINQ" + vlan_s_tag = "1976" + + } + } + } + z_side { + access_point { + type = "COLO" + port { + uuid = "" + } + link_protocol { + type = "QINQ" + vlan_s_tag = "3711" + } + location { + metro_code= "SV" + } + } + } +} +``` + +Port to AWS EVPL_VC Connection: +```hcl +resource "equinix_fabric_connection" "port2aws" { + name = "ConnectionName" + type = "EVPL_VC" + notifications { + type = "ALL" + emails = ["example@equinix.com","test1@equinix.com"] + } + bandwidth = 50 + redundancy { priority= "PRIMARY" } + order { + purchase_order_number= "1-323929" + } + a_side { + access_point { + type= "COLO" + port { + uuid = "" + } + link_protocol { + type = "QINQ" + vlan_s_tag = "2019" + vlan_c_tag = "2112" + } + } + } + z_side { + access_point { + type = "SP" + authentication_key = "" + seller_region = "us-west-1" + profile { + type = "L2_PROFILE" + uuid = "" + } + location { + metro_code = "SV" + } + } + } +} +``` + +Port to Port EPL Connection: +```hcl +resource "equinix_fabric_connection" "epl" { + name = "ConnectionName" + type = "EPL_VC" + notifications { + type = "ALL" + emails = ["example@equinix.com", "test1@equinix.com"] + } + bandwidth = 50 + order { + purchase_order_number = "1-323292" + } + a_side { + access_point { + type = "COLO" + port { + uuid = "" + } + } + } + z_side { + access_point { + type = "COLO" + port { + uuid = "" + } + location { + metro_code = "SV" + } + } + } +} +``` + +Port to Port ACCESS_EPL_VC Connection: +```hcl +resource "equinix_fabric_connection" "access_epl_vc" { + name = "ConnectionName" + type = "ACCESS_EPL_VC" + notifications { + type = "ALL" + emails = ["example@equinix.com", "test1@equinix.com"] + } + bandwidth = 50 + order { + purchase_order_number = "1-323292" + } + a_side { + access_point { + type = "COLO" + port { + uuid = "" + } + link_protocol { + type = "QINQ" + vlan_s_tag = "1976" + } + } + } + z_side { + access_point { + type = "COLO" + port { + uuid = "" + } + location { + metro_code = "SV" + } + } + } +} +``` + +Virtual Device to Port Connection: +```hcl +resource "equinix_fabric_connection" "vd2port" { + name = "ConnectionName" + type = "EVPL_VC" + notifications { + type = "ALL" + emails = ["example@equinix.com", "test1@equinix.com"] + } + bandwidth = 50 + order { + purchase_order_number = "1-323292" + } + a_side { + access_point { + type = "VD" + virtual_device { + type = "EDGE" + uuid = "" + } + interface { + type = "NETWORK" + id = 45654 + } + } + } + z_side { + access_point { + type = "COLO" + port { + uuid = "" + } + link_protocol { + type = "DOT1Q" + vlan_s_tag = "3711" + } + location { + metro_code = "SV" + } + } + } +} +``` + +Virtual Device to Service Token Connection: +```hcl +resource "equinix_fabric_connection" "vd2token" { + name = "ConnectionName" + type = "EVPL_VC" + notifications { + type = "ALL" + emails = ["example@equinix.com", "test1@equinix.com"] + } + bandwidth = 50 + order { + purchase_order_number = "1-323292" + } + a_side { + access_point { + type = "VD" + virtual_device { + type = "EDGE" + uuid = "" + } + interface { + type = "NETWORK" + id = 45654 + } + } + } + z_side { + service_token { + uuid = "" + } + } +} +``` + +Service Token to AWS Connection: +```hcl +resource "equinix_fabric_connection" "token2aws" { + name = "ConnectionName" + type = "EVPL_VC" + notifications { + type = "ALL" + emails = ["example@equinix.com", "test1@equinix.com"] + } + bandwidth = 50 + order { + purchase_order_number = "1-323292" + } + a_side { + service_token { + uuid = "" + } + } + z_side { + access_point { + type = "SP" + authentication_key = "" + seller_region = "us-west-1" + profile { + type = "L2_PROFILE" + uuid = "" + } + location { + metro_code = "SV" + } + } + } +} +``` + +Cloud Router to Port Connection: +```hcl +resource "equinix_fabric_connection" "fcr2port"{ + name = "ConnectionName" + type = "IP_VC" + notifications{ + type = "ALL" + emails = ["example@equinix.com","test1@equinix.com"] + } + bandwidth = 50 + order { + purchase_order_number = "1-323292" + } + a_side { + access_point { + type = "CLOUD_ROUTER" + router { + uuid = "" + } + } + } + z_side { + access_point { + type = "COLO" + port { + uuid = "" + } + link_protocol { + type = "DOT1Q" + vlan_tag = "2711" + } + location { + metro_code = "SV" + } + } + } +} +``` + +Cloud Router to Azure Connection: +```hcl +resource "equinix_fabric_connection" "fcr2azure"{ + name = "ConnectionName" + type = "IP_VC" + notifications{ + type = "ALL" + emails = ["example@equinix.com","test1@equinix.com"] + } + bandwidth = 50 + order { + purchase_order_number = "1-323292" + } + a_side { + access_point { + type = "CLOUD_ROUTER" + router { + uuid = "" + } + } + } + z_side { + access_point { + type = "SP" + authentication_key = "" + peering_type = "PRIVATE" + profile { + type = "L2_PROFILE" + uuid = "" + } + location { + metro_code = "SV" + } + } + } +} +``` + +Cloud Router to Network Connection: +```hcl +resource "equinix_fabric_connection" "fcr2network"{ + name = "ConnectionName" + type = "IPWAN_VC" + notifications{ + type = "ALL" + emails = ["example@equinix.com","test1@equinix.com"] + } + bandwidth = 50 + order { + purchase_order_number = "1-323292" + } + a_side { + access_point { + type = "CLOUD_ROUTER" + router { + uuid = "" + } + } + } + z_side { + access_point { + type = "NETWORK" + network { + uuid = "" + } + } + } +} +``` + +Virtual Device to Network Connection: +```hcl +resource "equinix_fabric_connection" "vd2token" { + name = "ConnectionName" + type = "EVPLAN_VC" + notifications { + type = "ALL" + emails = ["example@equinix.com", "test1@equinix.com"] + } + bandwidth = 50 + order { + purchase_order_number = "1-323292" + } + a_side { + access_point { + type = "VD" + virtual_device { + type = "EDGE" + uuid = "" + } + interface { + type = "NETWORK" + id = 45654 + } + } + } + z_side { + access_point { + type = "NETWORK" + network { + uuid = "" + } + } + } +} +``` + +EPLAN Port to Network Connection: +```hcl +resource "equinix_fabric_connection" "epl" { + name = "ConnectionName" + type = "EPLAN_VC" + notifications { + type = "ALL" + emails = ["example@equinix.com", "test1@equinix.com"] + } + bandwidth = 50 + order { + purchase_order_number = "1-323292" + } + a_side { + access_point { + type = "COLO" + port { + uuid = "" + } + } + } + z_side { + access_point { + type = "NETWORK" + network { + uuid = "" + } + } + } +} +``` + +EVPLAN Port to Network Connection: +```hcl +resource "equinix_fabric_connection" "epl" { + name = "ConnectionName" + type = "EVPLAN_VC" + notifications { + type = "ALL" + emails = ["example@equinix.com", "test1@equinix.com"] + } + bandwidth = 50 + order { + purchase_order_number = "1-323292" + } + a_side { + access_point { + type = "COLO" + port { + uuid = "" + } + link_protocol { + type = "DOT1Q" + vlan_s_tag = "1976" + + } + } + } + z_side { + access_point { + type = "NETWORK" + network { + uuid = "" + } + } + } +} +``` diff --git a/docs/resources/equinix_fabric_routing_protocol.md b/docs/resources/equinix_fabric_routing_protocol.md index 2ac41cbfb..609f04af7 100644 --- a/docs/resources/equinix_fabric_routing_protocol.md +++ b/docs/resources/equinix_fabric_routing_protocol.md @@ -15,6 +15,73 @@ Fabric V4 API compatible resource allows creation and management of Equinix Fabr API documentation can be found here - https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#routing-protocols +## Example Usage + +Direct Routing Protocol +```hcl +resource "equinix_fabric_routing_protocol" "direct"{ + connection_uuid = + type = "DIRECT" + name = "direct_rp" + direct_ipv4 { + equinix_iface_ip = "190.1.1.1/30" + } + direct_ipv6{ + equinix_iface_ip = "190::1:1/126" + } +} +``` + +BGP Routing Protocol (Requires Direct Routing Protocol Created First): +```hcl +resource "equinix_fabric_routing_protocol" "bgp" { + connection_uuid = + type = "BGP" + name = "bgp_rp" + bgp_ipv4 { + customer_peer_ip = "190.1.1.2" + enabled = true + } + bgp_ipv6 { + customer_peer_ip = "190::1:2" + enabled = true + } + customer_asn = 4532 +} +``` + +Direct and BGP Routing Protocol (Requires Depends On to Handle Synchronization): +```hcl +resource "equinix_fabric_routing_protocol" "direct"{ + connection_uuid = + type = "DIRECT" + name = "direct_rp" + direct_ipv4 { + equinix_iface_ip = "190.1.1.1/30" + } + direct_ipv6{ + equinix_iface_ip = "190::1:1/126" + } +} + +resource "equinix_fabric_routing_protocol" "bgp" { + depends_on = [ + equinix_fabric_routing_protocol.direct + ] + connection_uuid = + type = "BGP" + name = "bgp_rp" + bgp_ipv4 { + customer_peer_ip = "190.1.1.2" + enabled = true + } + bgp_ipv6 { + customer_peer_ip = "190::1:2" + enabled = true + } + customer_asn = 4532 +} +``` ## Schema diff --git a/docs/resources/equinix_fabric_service_profile.md b/docs/resources/equinix_fabric_service_profile.md index cd1e4e3ec..9ec8ea86f 100644 --- a/docs/resources/equinix_fabric_service_profile.md +++ b/docs/resources/equinix_fabric_service_profile.md @@ -13,7 +13,40 @@ Fabric V4 API compatible resource allows creation and management of Equinix Fabr ~> **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) - +## Example Usage + +```hcl +resource "equinix_fabric_service_profile" "new_service_profile" { + description = "Service Profile for Receiving Connections" + name = "Name Of Business + Use Case Tag" + type = "L2_PROFILE" + visibility = "PUBLIC" + notifications = [ + { + emails = ["someone@sample.com"] + type = "BANDWIDTH_ALERT" + } + ] + allowed_emails = ["test@equinix.com", "testagain@equinix.com"] + ports = [ + { + uuid = "c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee" + type = "XF_PORT" + } + ] + + access_point_type_configs { + type = "COLO" + allow_remote_connections = true + allow_custom_bandwidth = true + allow_bandwidth_auto_approval = false + connection_redundancy_required = false + connection_label = "Service Profile Tag1" + bandwidth_alert_threshold = 10 + supported_bandwidths = [ 100, 500 ] + } +} +``` ## Schema diff --git a/examples/fabric/v4/portConnectivity/port2portself/main.tf b/examples/fabric/v4/portConnectivity/port2portself/main.tf index 1dca8490c..2c35f7593 100644 --- a/examples/fabric/v4/portConnectivity/port2portself/main.tf +++ b/examples/fabric/v4/portConnectivity/port2portself/main.tf @@ -35,9 +35,6 @@ resource "equinix_fabric_connection" "p2p-qinq" { type= var.aside_link_protocol_type vlan_s_tag= var.aside_link_protocol_stag } - gateway { - uuid= "XF_ROUTER" - } } } z_side { From 0df1290227cb671295765df4c0a9a6d91fdb6177 Mon Sep 17 00:00:00 2001 From: Tim Hogarty Date: Thu, 4 Jan 2024 17:45:00 -0800 Subject: [PATCH 2/3] Add guide for migrating from Fabric v3 to v4 resources --- .../migration_guide_fabricv3_to_fabricv4.md | 288 ++++++++++++++++++ docs/resources/equinix_fabric_connection.md | 5 + 2 files changed, 293 insertions(+) create mode 100644 docs/guides/migration_guide_fabricv3_to_fabricv4.md diff --git a/docs/guides/migration_guide_fabricv3_to_fabricv4.md b/docs/guides/migration_guide_fabricv3_to_fabricv4.md new file mode 100644 index 000000000..f388b5212 --- /dev/null +++ b/docs/guides/migration_guide_fabricv3_to_fabricv4.md @@ -0,0 +1,288 @@ +--- +page_title: "Migrating from Fabric v3 (ecx) to Fabric v4 (fabric)" +--- + +# Migrating from Fabric v3 (ecx) to Fabric v4 (fabric) + +In December 2023, the Fabric v3 APIs were deprecated and they will reach +End of Life (EOL) in June 2024. The `ecx` Terraform Resources are built on those +APIs and will also reach EOL in June 2024. If you are using them this guide +will help you migrate to the `fabric` Terraform Resources that are built +with the Fabric v4 APIs. + +The Fabric v3 Resources are the following data sources and resources: + +Data Sources: +* `data "equinix_ecx_l2_sellerprofile"` +* `data "equinix_ecx_l2_sellerprofiles"` +* `data "equinix_ecx_port"` + +Resources: +* `resource "equinix_ecx_l2_connection"` +* `resource "equinix_ecx_l2_connection_accepter"` +* `resource "equinix_ecx_l2_service_profile"` + +They are being replaced by the family of resources with the +`equinix_fabric_` prefix. + +## Mapping ECX to Fabric + +All ECX resources are limited to Layer 2 Connections. This is due to +the limited amount of possibilities that existed at the time of Fabric v3. +The Fabric v4 APIs allow for Layer 2 and Layer 3 Connections. + +What this means is that the Fabric resources are more robust so there isn't +an exact one to one mapping, but rather that ECX connection types are now +a subset of a Fabric resource. + +### Data Source Mappings: + +* Use `data "equinix_fabric_service_profile"` instead of `data "equinix_ecx_sellerprofile"` +* Use `data "equinix_fabric_service_profiles"` instead of `data "equinix_ecx_sellerprofiles"` +* Use `data "equinix_fabric_port"` instead of `data "equinix_ecx_port"` + +#### Template Changes Would Be: + +Seller Profile: +```hcl +data "equinix_ecx_l2_sellerprofile" "aws" { + name = "AWS Direct Connect" +} + +output "id" { + value = data.equinix_ecx_l2_sellerprofile.aws.id +} +``` +to +```hcl +data "equinix_fabric_service_profile" "aws" { + uuid = "" +} + +output "id" { + value = data.equinix_fabric_service_profile.aws.id +} +``` +or if you still want to search by name you would use the `equinix_fabric_service_profiles` data source +```hcl +data "equinix_fabric_service_profiles" "aws" { + filter { + property = "/name" + operator = "=" + values = ["AWS Direct Connect"] + } +} + +output "id" { + value = data.equinix_fabric_service_profile.aws.data.0.id +} +``` + +Seller Profiles: +```hcl +data "equinix_ecx_l2_sellerprofiles" "aws" { + organization_global_name = "AWS" +} +``` +to +```hcl +data "equinix_fabric_service_profiles" "aws" { + filter { + property = "/name" + operator = "=" + values = ["AWS"] + } +} +``` + +Port: +```hcl +data "equinix_ecx_port" "tf-pri-dot1q" { + name = "sit-001-CX-NY5-NL-Dot1q-BO-10G-PRI-JP-157" +} + +output "id" { + value = data.equinix_ecx_port.tf-pri-dot1q.id +} +``` +to +```hcl +data "equinix_fabric_ports" "tf-pri-dot1q" { + filters { + name = "sit-001-CX-NY5-NL-Dot1q-BO-10G-PRI-JP-157" + } +} + +output "id" { + value = data.equinix_fabric_ports.tf-pri-dot1q.0.id +} +``` + +### Resource Mappings + +* Use `resource "equinix_fabric_connection"` instead of `resource "equinix_ecx_l2_connection"` +* `resource "equinix_ecx_l2_connection_acceptor` is deprecated. + * Add your AWS Secret Key and AWS Access Key to `additional_info` property in `resource "equinix_fabric_connection"` for AWS + * Or use the equivalent resource `aws_dx_connection_confirmation` in the 'AWS' provider instead." +* Use `resource "equinix_fabric_service_profile"` instead of `resource "equinix_ecx_l2_service_profile"` + +#### Template Changes + +L2 Connection: +```hcl +resource "equinix_ecx_l2_connection" "port-2-aws" { + name = "tf-aws" + profile_uuid = "" + speed = 200 + speed_unit = "MB" + notifications = ["marry@equinix.com", "john@equinix.com"] + port_uuid = "" + vlan_stag = 777 + vlan_ctag = 1000 + seller_region = "us-west-1" + seller_metro_code = "SV" + authorization_key = "" +} +``` +to +```hcl +resource "equinix_fabric_connection" "port2aws" { + name = "tf-aws" + type = "EVPL_VC" # L2 Connection + notifications { + type = "ALL" + emails = ["marry@equinix.com", "john@equinix.com"] + } + bandwidth = 200 # Speed unit is defaulted to MB + redundancy { priority= "PRIMARY" } + order { + purchase_order_number= "1-323929" + } + a_side { + access_point { + type= "COLO" + port { + uuid = "" + } + link_protocol { + type = "QINQ" + vlan_s_tag = "777" + vlan_c_tag = "1000" + } + } + } + z_side { + access_point { + type = "SP" + authentication_key = "" + seller_region = "us-west-1" + profile { + type = "L2_PROFILE" + uuid = "" + } + location { + metro_code = "SV" + } + } + } + + additional_info = [ + { key = "accessKey", value = "" }, + { key = "secretKey", value = "" } + ] +} +``` + +Service Profile: +```hcl +resource "equinix_ecx_l2_serviceprofile" "private-profile" { + name = "private-profile" + description = "my private profile" + connection_name_label = "Connection" + bandwidth_threshold_notifications = ["John.Doe@example.com", "Marry.Doe@example.com"] + profile_statuschange_notifications = ["John.Doe@example.com", "Marry.Doe@example.com"] + vc_statuschange_notifications = ["John.Doe@example.com", "Marry.Doe@example.com"] + private = true + private_user_emails = ["John.Doe@example.com", "Marry.Doe@example.com"] + features { + allow_remote_connections = true + test_profile = false + } + port { + uuid = "a867f685-422f-22f7-6de0-320a5c00abdd" + metro_code = "NY" + } + port { + uuid = "a867f685-4231-2317-6de0-320a5c00abdd" + metro_code = "NY" + } + speed_band { + speed = 1000 + speed_unit = "MB" + } + speed_band { + speed = 500 + speed_unit = "MB" + } + speed_band { + speed = 100 + speed_unit = "MB" + } +} +``` +to +```hcl +resource "equinix_fabric_service_profile" "private-profile" { + name = "private-profile" + description = "my private profile" + type = "L2_PROFILE" # Need to specify to make it an Layer 2 Profile + visibility = "PRIVATE" + notifications = [ + { + emails = ["John.Doe@example.com", "Marry.Doe@example.com"] + type = "BANDWIDTH_ALERT" + }, + { + emails = ["John.Doe@example.com", "Marry.Doe@example.com"] + type = "PROFILE_LIFECYCLE" + }, + { + emails = ["John.Doe@example.com", "Marry.Doe@example.com"] + type = "CONNECTION_APPROVAL" + } + ] + allowed_emails = ["John.Doe@example.com", "Marry.Doe@example.com"] + ports = [ + { + uuid = "c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee" + type = "XF_PORT" + }, + { + uuid = "a867f685-4231-2317-6de0-320a5c00abdd" + type = "XF_PORT" + } + ] + + access_point_type_configs { + type = "COLO" + allow_remote_connections = true + connection_label = "Connection" + supported_bandwidths = [ 100, 500, 1000 ] + } +} +``` + + +## Migrating Terraform State + +Once we changed the template accordingly, we can remove the old `equinix_ecx_` resources from Terraform state and import the new ones as `equinix_fabric_` resources by their UUIDs. + +In the terraform state and import commands, we use the resource type and name, separated by dot: +```bash +terraform state rm equinix_ecx_l2_connection.example +terraform import equinix_fabric_connection.example +``` + +After that, our templates should be in check with the Terraform state and with the upstream resources in Equinix Fabric. We can verify the migration by running terraform plan, it should show that infrastructure is up to date. + + diff --git a/docs/resources/equinix_fabric_connection.md b/docs/resources/equinix_fabric_connection.md index d63abb25d..f5562d23e 100644 --- a/docs/resources/equinix_fabric_connection.md +++ b/docs/resources/equinix_fabric_connection.md @@ -100,6 +100,11 @@ resource "equinix_fabric_connection" "port2aws" { } } } + + additional_info = [ + { key = "accessKey", value = "" }, + { key = "secretKey", value = "" } + ] } ``` From 0ece02b6aebc4845568607e54e597cd36c1e6121 Mon Sep 17 00:00:00 2001 From: Tim Hogarty Date: Thu, 11 Jan 2024 19:14:21 -0800 Subject: [PATCH 3/3] Update deprecation message and remove beta notice --- docs/data-sources/equinix_ecx_l2_sellerprofile.md | 6 ++---- docs/data-sources/equinix_ecx_l2_sellerprofiles.md | 6 ++---- docs/data-sources/equinix_ecx_port.md | 6 ++---- docs/data-sources/equinix_fabric_cloud_router.md | 3 --- docs/data-sources/equinix_fabric_connection.md | 3 --- docs/data-sources/equinix_fabric_port.md | 3 --- docs/data-sources/equinix_fabric_ports.md | 3 --- docs/data-sources/equinix_fabric_routing_protocol.md | 3 --- docs/data-sources/equinix_fabric_service_profile.md | 4 ---- docs/data-sources/equinix_fabric_service_profiles.md | 4 ---- docs/resources/equinix_ecx_l2_connection.md | 6 ++---- docs/resources/equinix_ecx_l2_connection_accepter.md | 2 +- docs/resources/equinix_ecx_l2_serviceprofile.md | 6 ++---- docs/resources/equinix_fabric_cloud_router.md | 3 --- docs/resources/equinix_fabric_connection.md | 3 --- docs/resources/equinix_fabric_routing_protocol.md | 3 --- docs/resources/equinix_fabric_service_profile.md | 3 --- 17 files changed, 11 insertions(+), 56 deletions(-) diff --git a/docs/data-sources/equinix_ecx_l2_sellerprofile.md b/docs/data-sources/equinix_ecx_l2_sellerprofile.md index 2ebbb5e09..04ac316b3 100644 --- a/docs/data-sources/equinix_ecx_l2_sellerprofile.md +++ b/docs/data-sources/equinix_ecx_l2_sellerprofile.md @@ -2,12 +2,10 @@ subcategory: "Fabric" --- -# DEPRECATED RESOURCE - -End of Life will be June 30th, 2024. Use equinix_fabric_service_profile instead. - # equinix_ecx_l2_sellerprofile (Data Source) +!> **DEPRECATED** End of Life will be June 30th, 2024. Use `equinix_fabric_service_profile` instead. + Use this data source to get details of Equinix Fabric layer 2 seller profile with a given name and / or organization. diff --git a/docs/data-sources/equinix_ecx_l2_sellerprofiles.md b/docs/data-sources/equinix_ecx_l2_sellerprofiles.md index 57a183c1b..10c378072 100644 --- a/docs/data-sources/equinix_ecx_l2_sellerprofiles.md +++ b/docs/data-sources/equinix_ecx_l2_sellerprofiles.md @@ -2,12 +2,10 @@ subcategory: "Fabric" --- -# DEPRECATED RESOURCE - -End of Life will be June 30th, 2024. Use equinix_fabric_service_profiles instead. - # equinix_ecx_l2_sellerprofiles (Data Source) +!> **DEPRECATED** End of Life will be June 30th, 2024. Use `equinix_fabric_service_profiles` instead. + Use this data source to get details of available Equinix Fabric layer 2 seller profiles. It is possible to apply filtering criteria for returned list of profiles. diff --git a/docs/data-sources/equinix_ecx_port.md b/docs/data-sources/equinix_ecx_port.md index c17bfe874..e42783e96 100644 --- a/docs/data-sources/equinix_ecx_port.md +++ b/docs/data-sources/equinix_ecx_port.md @@ -2,12 +2,10 @@ subcategory: "Fabric" --- -# DEPRECATED RESOURCE - -End of Life will be June 30th, 2024. Use equinix_fabric_port and equinix_fabric_ports instead. - # equinix_ecx_port (Data Source) +!> **DEPRECATED** End of Life will be June 30th, 2024. Use `equinix_fabric_port` and `equinix_fabric_ports` instead. + Use this data source to get details of Equinix Fabric port with a given name. ## Example Usage diff --git a/docs/data-sources/equinix_fabric_cloud_router.md b/docs/data-sources/equinix_fabric_cloud_router.md index c0de45f6f..9233e0b1f 100644 --- a/docs/data-sources/equinix_fabric_cloud_router.md +++ b/docs/data-sources/equinix_fabric_cloud_router.md @@ -4,15 +4,12 @@ page_title: "equinix_fabric_cloud_router Data Source - terraform-provider-equini subcategory: "Fabric" 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 ## Example Usage diff --git a/docs/data-sources/equinix_fabric_connection.md b/docs/data-sources/equinix_fabric_connection.md index 63d78aa36..1c518a789 100644 --- a/docs/data-sources/equinix_fabric_connection.md +++ b/docs/data-sources/equinix_fabric_connection.md @@ -4,15 +4,12 @@ page_title: "equinix_fabric_connection Data Source - terraform-provider-equinix" subcategory: "Fabric" description: |- Fabric V4 API compatible data resource that allow user to fetch connection 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_connection (Data Source) Fabric V4 API compatible data resource that allow user to fetch connection 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) - ## Example Usage ```hcl diff --git a/docs/data-sources/equinix_fabric_port.md b/docs/data-sources/equinix_fabric_port.md index c68138dea..dc5409b76 100644 --- a/docs/data-sources/equinix_fabric_port.md +++ b/docs/data-sources/equinix_fabric_port.md @@ -4,15 +4,12 @@ page_title: "equinix_fabric_port Data Source - terraform-provider-equinix" subcategory: "Fabric" description: |- Fabric V4 API compatible data resource that allow user to fetch port by 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_port (Data Source) Fabric V4 API compatible data resource that allow user to fetch port by 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) - ## Example Usage ```hcl diff --git a/docs/data-sources/equinix_fabric_ports.md b/docs/data-sources/equinix_fabric_ports.md index 5d542f338..b4342cd4c 100644 --- a/docs/data-sources/equinix_fabric_ports.md +++ b/docs/data-sources/equinix_fabric_ports.md @@ -4,15 +4,12 @@ page_title: "equinix_fabric_ports Data Source - terraform-provider-equinix" subcategory: "Fabric" description: |- Fabric V4 API compatible data resource that allow user to fetch port by name - ~> 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_ports (Data Source) Fabric V4 API compatible data resource that allow user to fetch port by name -~> **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) - ## Example Usage ```hcl diff --git a/docs/data-sources/equinix_fabric_routing_protocol.md b/docs/data-sources/equinix_fabric_routing_protocol.md index 583e97f8f..0261f5375 100644 --- a/docs/data-sources/equinix_fabric_routing_protocol.md +++ b/docs/data-sources/equinix_fabric_routing_protocol.md @@ -4,15 +4,12 @@ page_title: "equinix_fabric_routing_protocol Data Source - terraform-provider-eq 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 ## Example Usage diff --git a/docs/data-sources/equinix_fabric_service_profile.md b/docs/data-sources/equinix_fabric_service_profile.md index e0ac89627..d6fbbc6f4 100644 --- a/docs/data-sources/equinix_fabric_service_profile.md +++ b/docs/data-sources/equinix_fabric_service_profile.md @@ -4,16 +4,12 @@ page_title: "equinix_fabric_service_profile Data Source - terraform-provider-equ subcategory: "Fabric" description: |- Fabric V4 API compatible data resource that allow user to fetch Service Profile by UUID filter criteria - ~> 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 --- # equinix_fabric_service_profile (Data Source) Fabric V4 API compatible data resource that allow user to fetch Service Profile by UUID filter criteria -~> **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 - - ## Example Usage ```hcl diff --git a/docs/data-sources/equinix_fabric_service_profiles.md b/docs/data-sources/equinix_fabric_service_profiles.md index 5db905758..2c4457b1d 100644 --- a/docs/data-sources/equinix_fabric_service_profiles.md +++ b/docs/data-sources/equinix_fabric_service_profiles.md @@ -4,16 +4,12 @@ page_title: "equinix_fabric_service_profiles Data Source - terraform-provider-eq subcategory: "Fabric" description: |- Fabric V4 API compatible data resource that allow user to fetch Service Profile by name filter criteria - ~> 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_service_profiles (Data Source) Fabric V4 API compatible data resource that allow user to fetch Service Profile by name filter criteria -~> **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) - - ## Example Usage ```hcl diff --git a/docs/resources/equinix_ecx_l2_connection.md b/docs/resources/equinix_ecx_l2_connection.md index 20a809b40..7c0f5df26 100644 --- a/docs/resources/equinix_ecx_l2_connection.md +++ b/docs/resources/equinix_ecx_l2_connection.md @@ -2,12 +2,10 @@ subcategory: "Fabric" --- -# DEPRECATED RESOURCE - -End of Life will be June 30th, 2024. Use equinix_fabric_connection instead. - # equinix_ecx_l2_connection (Resource) +!> **DEPRECATED** End of Life will be June 30th, 2024. Use `equinix_fabric_connection` instead. + Resource `equinix_ecx_l2_connection` allows creation and management of Equinix Fabric layer 2 connections. diff --git a/docs/resources/equinix_ecx_l2_connection_accepter.md b/docs/resources/equinix_ecx_l2_connection_accepter.md index 065eccc81..1a53e131e 100644 --- a/docs/resources/equinix_ecx_l2_connection_accepter.md +++ b/docs/resources/equinix_ecx_l2_connection_accepter.md @@ -4,7 +4,7 @@ subcategory: "Fabric" # equinix_ecx_l2_connection_accepter (Resource) -!> **DEPRECATED** Use the [`aws_dx_connection_confirmation`](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/dx_connection_confirmation) +!> **DEPRECATED** End of Life will be June 30th, 2024. Use the [`aws_dx_connection_confirmation`](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/dx_connection_confirmation) resource from the [AWS provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs). The documentation below applies to version v1.3 and below of the Equinix provider. Later versions of the Equinix provider will return an error, requiring usage of the diff --git a/docs/resources/equinix_ecx_l2_serviceprofile.md b/docs/resources/equinix_ecx_l2_serviceprofile.md index 19589e93d..bbad561df 100644 --- a/docs/resources/equinix_ecx_l2_serviceprofile.md +++ b/docs/resources/equinix_ecx_l2_serviceprofile.md @@ -2,12 +2,10 @@ subcategory: "Fabric" --- -# DEPRECATED RESOURCE - -End of Life will be June 30th, 2024. Use equinix_fabric_service_profile instead. - # equinix_ecx_l2_serviceprofile (Resource) +!> **DEPRECATED** End of Life will be June 30th, 2024. Use `equinix_fabric_service_profile` instead. + Resource `equinix_ecx_l2_serviceprofile` is used to manage layer 2 service profiles in Equinix Fabric. diff --git a/docs/resources/equinix_fabric_cloud_router.md b/docs/resources/equinix_fabric_cloud_router.md index 4f2c64603..538b8024c 100644 --- a/docs/resources/equinix_fabric_cloud_router.md +++ b/docs/resources/equinix_fabric_cloud_router.md @@ -4,15 +4,12 @@ page_title: "equinix_fabric_cloud_router Resource - terraform-provider-equinix" subcategory: "Fabric" description: |- Fabric V4 API compatible resource allows creation and management of Equinix Fabric Cloud Router - ~> 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_cloud_router (Resource) Fabric V4 API compatible resource allows creation and management of Equinix Fabric Cloud Router -~> **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 ## Example Usage diff --git a/docs/resources/equinix_fabric_connection.md b/docs/resources/equinix_fabric_connection.md index f5562d23e..b60d3f5bb 100644 --- a/docs/resources/equinix_fabric_connection.md +++ b/docs/resources/equinix_fabric_connection.md @@ -4,15 +4,12 @@ page_title: "equinix_fabric_connection Resource - terraform-provider-equinix" subcategory: "Fabric" description: |- Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection - ~> 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_connection (Resource) Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection -~> **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) - ## Example Usage Port to Port EVPL_VC Connection: diff --git a/docs/resources/equinix_fabric_routing_protocol.md b/docs/resources/equinix_fabric_routing_protocol.md index 609f04af7..a796a466f 100644 --- a/docs/resources/equinix_fabric_routing_protocol.md +++ b/docs/resources/equinix_fabric_routing_protocol.md @@ -4,15 +4,12 @@ page_title: "equinix_fabric_routing_protocol Resource - terraform-provider-equin subcategory: "Fabric" description: |- Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection - ~> 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 -~> **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 diff --git a/docs/resources/equinix_fabric_service_profile.md b/docs/resources/equinix_fabric_service_profile.md index 9ec8ea86f..ea6b28b6a 100644 --- a/docs/resources/equinix_fabric_service_profile.md +++ b/docs/resources/equinix_fabric_service_profile.md @@ -4,15 +4,12 @@ page_title: "equinix_fabric_service_profile Resource - terraform-provider-equini subcategory: "Fabric" description: |- Fabric V4 API compatible resource allows creation and management of Equinix Fabric Service Profile - ~> 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_service_profile (Resource) Fabric V4 API compatible resource allows creation and management of Equinix Fabric Service Profile -~> **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) - ## Example Usage ```hcl