diff --git a/docs/data-sources/ecx_l2_sellerprofile.md b/docs/data-sources/ecx_l2_sellerprofile.md
index 6ece3152f..8aea81332 100644
--- a/docs/data-sources/ecx_l2_sellerprofile.md
+++ b/docs/data-sources/ecx_l2_sellerprofile.md
@@ -1,69 +1,66 @@
---
-subcategory: "Fabric"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_ecx_l2_sellerprofile Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Use this data source to get details of Equinix Fabric layer 2 seller profile with a given name and / or organization
---
# 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
-Use this data source to get details of Equinix Fabric layer 2 seller profile with a given name and / or organization.
-## Example usage
-```terraform
-data "equinix_ecx_l2_sellerprofile" "aws" {
- name = "AWS Direct Connect"
-}
+
+## Schema
-output "id" {
- value = data.equinix_ecx_l2_sellerprofile.aws.id
-}
-```
+### Optional
-## Argument Reference
+- `name` (String) Name of the seller profile
+- `organization_global_name` (String) Name of seller's global organization
+- `organization_name` (String) Name of seller's organization
-The following arguments are supported:
+### Read-Only
-* `name` - (Optional) Name of the seller profile.
-* `organization_name` - (Optional) Name of seller's organization.
-* `organization_global_name` - (Optional) Name of seller's global organization.
+- `additional_info` (Set of Object) One or more specifications of additional buyer information attributes that can be provided in connection definition that uses given seller profile (see [below for nested schema](#nestedatt--additional_info))
+- `description` (String) Seller Profile text description
+- `encapsulation` (String) Seller profile's encapsulation (either Dot1q or QinQ)
+- `id` (String) The ID of this resource.
+- `metro` (Set of Object) One or more specifications of metro locations supported by seller profile (see [below for nested schema](#nestedatt--metro))
+- `redundancy_required` (Boolean) Boolean that indicate if seller requires connections to be redundant
+- `speed_band` (Set of Object) One or more specifications of speed/bandwidth supported by given seller profile (see [below for nested schema](#nestedatt--speed_band))
+- `speed_customization_allowed` (Boolean) Boolean that indicates if seller allows customer to enter a custom connection speed
+- `speed_from_api` (Boolean) Boolean that indicates if seller is deriving connection speed from an API call
+- `uuid` (String) Unique identifier of the seller profile
-## Attributes Reference
+
+### Nested Schema for `additional_info`
-In addition to all arguments above, the following attributes are exported:
+Read-Only:
-* `uuid` - Unique identifier of the seller profile.
-* `description` - Seller Profile text description.
-* `speed_from_api` - Boolean that indicates if seller is deriving connection speed from an API call.
-* `speed_customization_allowed` - Boolean that indicates if seller allows customer to enter a custom connection speed.
-* `redundancy_required` - Boolean that indicate if seller requires connections to be redundant
-* `encapsulation` - Seller profile's encapsulation (either Dot1q or QinQ).
-* `speed_band` - One or more specifications of speed/bandwidth supported by given seller profile. See [Speed Band Attribute](#speed-band-attribute) below for more details.
-* `metro` - One or more specifications of metro locations supported by seller profile. See [Metro Attribute](#metro-attribute) below for more details.
+- `captured_in_email` (Boolean)
+- `data_type` (String)
+- `description` (String)
+- `mandatory` (Boolean)
+- `name` (String)
-* `additional_info` - One or more specifications of additional buyer information attributes that can be provided in connection definition that uses given seller profile. See [Additional Info Attribute](#additional-info-attribute) below for more details.
-### Speed Band Attribute
+
+### Nested Schema for `metro`
-Each element in the `speed_band` set exports:
+Read-Only:
-* `speed` - Speed/bandwidth supported by given service profile.
-* `speed_unit` - Unit of the speed/bandwidth supported by given service profile.
+- `code` (String)
+- `ibxes` (Set of String)
+- `name` (String)
+- `regions` (Map of String)
-### Metro Attribute
-Each element in the `metro` set exports:
+
+### Nested Schema for `speed_band`
-* `code` - Location metro code.
-* `name` - Location metro name.
-* `ibxes` - List of IBXes supported within given metro.
-* `regions` - List of regions supported within given.
+Read-Only:
-### Additional Info Attribute
-
-Each element in the `additional_info` set exports:
-
-* `name` - Name of additional information attribute.
-* `description` - Textual description of additional information attribute.
-* `data_type` - Data type of additional information attribute. One of `BOOLEAN`, `INTEGER` or `STRING`.
-* `mandatory` - Specifies if additional information is mandatory to create connection.
+- `speed` (Number)
+- `speed_unit` (String)
diff --git a/docs/data-sources/ecx_l2_sellerprofiles.md b/docs/data-sources/ecx_l2_sellerprofiles.md
index d4e1b0c9d..37ecba871 100644
--- a/docs/data-sources/ecx_l2_sellerprofiles.md
+++ b/docs/data-sources/ecx_l2_sellerprofiles.md
@@ -1,37 +1,78 @@
---
-subcategory: "Fabric"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_ecx_l2_sellerprofiles Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Use this data source to get list of Equinix Fabric layer 2 seller profiles
---
# 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 list of Equinix Fabric layer 2 seller profiles
-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.
-## Example usage
-```terraform
-data "equinix_ecx_l2_sellerprofiles" "aws" {
- organization_global_name = "AWS"
- metro_codes = ["SV", "DC"]
- speed_bands = ["1GB", "500MB"]
-}
-```
+
+## Schema
-## Argument Reference
+### Optional
-The following arguments are supported:
+- `metro_codes` (Set of String) List of metro codes of locations that should be served by resulting profiles
+- `name_regex` (String) A regex string to apply on returned seller profile names and filter search results
+- `organization_global_name` (String) Name of seller's global organization
+- `organization_name` (String) Name of seller's organization
+- `speed_bands` (Set of String) List of speed bands that should be supported by resulting profiles
-* `name_regex` - (Optional) A regex string to apply on returned seller profile names and filter search results.
-* `metro_codes` - (Optional) List of metro codes of locations that should be served by resulting profiles.
-* `speed_bands` - (Optional) List of speed bands that should be supported by resulting profiles. (** Please see the note below for important information regarding the use of this argument**)
-* `organization_name` - (Optional) Name of seller's organization.
-* `organization_global_name` - (Optional) Name of seller's global organization.
+### Read-Only
--> **NOTE:** Some seller profiles (such as OCI) do not show the available `speed_bands` until the connection is validated. Therefore, using the `speed_bands` argument as a filter can cause false empty results. You can use the [equinix_ecx_l2_sellerprofile](./equinix_ecx_l2_sellerprofile.md) data source to ensure that the seller profile you need returns its `speed_bands` information.
+- `id` (String) The ID of this resource.
+- `profiles` (List of Object) Resulting list of profiles that match filtering criteria (see [below for nested schema](#nestedatt--profiles))
-## Attributes Reference
+
+### Nested Schema for `profiles`
-In addition to all arguments above, the following attributes are exported:
+Read-Only:
-* `profiles` - List of resulting profiles. Each element in the `profiles` list exports all [Service Profile Attributes](./equinix_ecx_l2_sellerprofile.md#attributes-reference).
+- `additional_info` (Set of Object) (see [below for nested schema](#nestedobjatt--profiles--additional_info))
+- `description` (String)
+- `encapsulation` (String)
+- `metro` (Set of Object) (see [below for nested schema](#nestedobjatt--profiles--metro))
+- `name` (String)
+- `organization_global_name` (String)
+- `organization_name` (String)
+- `redundancy_required` (Boolean)
+- `speed_band` (Set of Object) (see [below for nested schema](#nestedobjatt--profiles--speed_band))
+- `speed_customization_allowed` (Boolean)
+- `speed_from_api` (Boolean)
+- `uuid` (String)
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `captured_in_email` (Boolean)
+- `data_type` (String)
+- `description` (String)
+- `mandatory` (Boolean)
+- `name` (String)
+
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `code` (String)
+- `ibxes` (Set of String)
+- `name` (String)
+- `regions` (Map of String)
+
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `speed` (Number)
+- `speed_unit` (String)
diff --git a/docs/data-sources/ecx_port.md b/docs/data-sources/ecx_port.md
index 8b2a47d77..6145bfdf9 100644
--- a/docs/data-sources/ecx_port.md
+++ b/docs/data-sources/ecx_port.md
@@ -1,42 +1,33 @@
---
-subcategory: "Fabric"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_ecx_port Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Use this data source to get details of Equinix Fabric port with a given name
---
# 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
-Use this data source to get details of Equinix Fabric port with a given name.
-## Example Usage
-```terraform
-data "equinix_ecx_port" "tf-pri-dot1q" {
- name = "sit-001-CX-NY5-NL-Dot1q-BO-10G-PRI-JP-157"
-}
+
+## Schema
-output "id" {
- value = data.equinix_ecx_port.tf-pri-dot1q.id
-}
-```
+### Required
-## Argument Reference
+- `name` (String) Name of the port
-The following arguments are supported:
+### Read-Only
-* `name` - (Required) Name of the port.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Unique identifier of the port.
-* `status` - Status of the port.
-* `region` - Port location region.
-* `ibx` - Port location Equinix Business Exchange (IBX).
-* `metro_code` - Port location metro code.
-* `priority` - The priority of the device (primary / secondary) where the port resides.
-* `encapsulation` - The VLAN encapsulation of the port (Dot1q or QinQ).
-* `buyout` - Boolean value that indicates whether the port supports unlimited connections. If `false`, the port is a standard port with limited connections. If `true`, the port is an `unlimited connections` port that allows multiple connections at no additional charge.
-* `bandwidth` - Port Bandwidth in bytes.
-* `status` - Port status that indicates whether a port has been assigned or is ready for connection.
+- `bandwidth` (String) Port Bandwidth in bytes
+- `buyout` (Boolean) Boolean value that indicates whether the port supports unlimited connections.
+- `encapsulation` (String) The VLAN encapsulation of the port (Dot1q or QinQ)
+- `ibx` (String) Port location Equinix Business Exchange (IBX)
+- `id` (String) The ID of this resource.
+- `metro_code` (String) Port location metro code
+- `priority` (String) The priority of the device (primary / secondary) where the port resides
+- `region` (String) Port location region
+- `status` (String) Port status that indicates whether a port has been assigned or is ready for connection
+- `uuid` (String) Unique identifier of the por
diff --git a/docs/data-sources/fabric_cloud_router.md b/docs/data-sources/fabric_cloud_router.md
index 2fa80ed2e..0c5a12754 100644
--- a/docs/data-sources/fabric_cloud_router.md
+++ b/docs/data-sources/fabric_cloud_router.md
@@ -1,27 +1,18 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_cloud_router Data Source - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible data resource that allow user to fetch Fabric Cloud Router for a given UUID
---
-# equinix_fabric_clouder_router (Data Source)
+# equinix_fabric_cloud_router (Data Source)
Fabric V4 API compatible data resource that allow user to fetch Fabric Cloud Router for a given UUID
-API documentation can be found here - https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#fabric-cloud-routers
-## Example Usage
-
-```terraform
-data "equinix_fabric_cloud_router" "cloud_router_data_name" {
- uuid = ""
-}
-```
-
## Schema
### Required
@@ -46,20 +37,19 @@ data "equinix_fabric_cloud_router" "cloud_router_data_name" {
- `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 Type (see [below for nested schema](#nestedatt--package))
-- `project` (Set of Object) Customer resource hierarchy project information.Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects (see [below for nested schema](#nestedatt--project))
+- `project` (Set of Object) Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects (see [below for nested schema](#nestedatt--project))
- `state` (String) Fabric Cloud Router overall state
- `type` (String) Defines the FCR type like; XF_ROUTER
-
### Nested Schema for `account`
Read-Only:
- `account_number` (Number)
-
+
### Nested Schema for `change_log`
Read-Only:
@@ -77,8 +67,8 @@ Read-Only:
- `updated_by_full_name` (String)
- `updated_date_time` (String)
-
+
### Nested Schema for `location`
Read-Only:
@@ -88,8 +78,8 @@ Read-Only:
- `metro_name` (String)
- `region` (String)
-
+
### Nested Schema for `notifications`
Read-Only:
@@ -98,8 +88,8 @@ Read-Only:
- `send_interval` (String)
- `type` (String)
-
+
### Nested Schema for `order`
Read-Only:
@@ -109,16 +99,16 @@ Read-Only:
- `order_number` (String)
- `purchase_order_number` (String)
-
+
### Nested Schema for `package`
Read-Only:
- `code` (String)
-
+
### Nested Schema for `project`
Read-Only:
diff --git a/docs/data-sources/fabric_connection.md b/docs/data-sources/fabric_connection.md
index b321f4b76..03a20fd15 100644
--- a/docs/data-sources/fabric_connection.md
+++ b/docs/data-sources/fabric_connection.md
@@ -1,7 +1,7 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_connection Data Source - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible data resource that allow user to fetch connection for a given UUID
---
@@ -10,16 +10,9 @@ description: |-
Fabric V4 API compatible data resource that allow user to fetch connection for a given UUID
-## Example Usage
-```terraform
-data "equinix_fabric_connection" "connection_data_name" {
- uuid = ""
-}
-```
-
## Schema
### Required
@@ -49,7 +42,6 @@ data "equinix_fabric_connection" "connection_data_name" {
- `z_side` (Set of Object) Destination or Provider side connection configuration object of the multi-segment connection (see [below for nested schema](#nestedatt--z_side))
-
### Nested Schema for `a_side`
Read-Only:
@@ -59,14 +51,13 @@ Read-Only:
- `service_token` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--service_token))
-
-### Nested Schema for `a_side.access_point`
+### Nested Schema for ``
Read-Only:
- `account` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--account))
- `authentication_key` (String)
-- `gateway` (Set of Object, Deprecated) **Deprecated** `gateway` Use `router` attribute instead (see [below for nested schema](#nestedobjatt--a_side--access_point--gateway))
+- `gateway` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--gateway))
- `interface` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--interface))
- `link_protocol` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--link_protocol))
- `location` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--location))
@@ -81,8 +72,7 @@ Read-Only:
- `virtual_device` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--virtual_device))
-
-### Nested Schema for `a_side.access_point.account`
+### Nested Schema for ``
Read-Only:
@@ -95,18 +85,18 @@ Read-Only:
- `organization_name` (String)
- `ucm_id` (String)
-
-### Nested Schema for `a_side.access_point.gateway`
+
+### Nested Schema for ``
Read-Only:
- `href` (String)
- `uuid` (String)
-
-### Nested Schema for `a_side.access_point.interface`
+
+### Nested Schema for ``
Read-Only:
@@ -114,9 +104,9 @@ Read-Only:
- `type` (String)
- `uuid` (String)
-
-### Nested Schema for `a_side.access_point.link_protocol`
+
+### Nested Schema for ``
Read-Only:
@@ -125,9 +115,9 @@ Read-Only:
- `vlan_s_tag` (Number)
- `vlan_tag` (Number)
-
-### Nested Schema for `a_side.access_point.location`
+
+### Nested Schema for ``
Read-Only:
@@ -136,18 +126,18 @@ Read-Only:
- `metro_name` (String)
- `region` (String)
-
-### Nested Schema for `a_side.access_point.network`
+
+### Nested Schema for ``
Read-Only:
- `href` (String)
- `uuid` (String)
-
-### Nested Schema for `a_side.access_point.port`
+
+### Nested Schema for ``
Read-Only:
@@ -157,8 +147,7 @@ Read-Only:
- `uuid` (String)
-
-### Nested Schema for `a_side.access_point.port.uuid`
+### Nested Schema for ``
Read-Only:
@@ -166,9 +155,10 @@ Read-Only:
- `group` (String)
- `priority` (String)
-
-### Nested Schema for `a_side.access_point.profile`
+
+
+### Nested Schema for ``
Read-Only:
@@ -180,26 +170,26 @@ Read-Only:
- `uuid` (String)
-
-### Nested Schema for `a_side.access_point.profile.uuid`
+### Nested Schema for ``
Read-Only:
- `type` (String)
- `uuid` (String)
-
-### Nested Schema for `a_side.access_point.router`
+
+
+### Nested Schema for ``
Read-Only:
- `href` (String)
- `uuid` (String)
-
-### Nested Schema for `a_side.access_point.virtual_device`
+
+### Nested Schema for ``
Read-Only:
@@ -208,18 +198,19 @@ Read-Only:
- `type` (String)
- `uuid` (String)
-
-### Nested Schema for `a_side.additional_info`
+
+
+### Nested Schema for ``
Read-Only:
- `key` (String)
- `value` (String)
-
-### Nested Schema for `a_side.service_token`
+
+### Nested Schema for ``
Read-Only:
@@ -228,8 +219,9 @@ Read-Only:
- `type` (String)
- `uuid` (String)
-
+
+
### Nested Schema for `account`
Read-Only:
@@ -243,8 +235,8 @@ Read-Only:
- `organization_name` (String)
- `ucm_id` (String)
-
+
### Nested Schema for `change_log`
Read-Only:
@@ -262,8 +254,8 @@ Read-Only:
- `updated_by_full_name` (String)
- `updated_date_time` (String)
-
+
### Nested Schema for `notifications`
Read-Only:
@@ -272,8 +264,8 @@ Read-Only:
- `send_interval` (String)
- `type` (String)
-
+
### Nested Schema for `operation`
Read-Only:
@@ -283,8 +275,7 @@ Read-Only:
- `provider_status` (String)
-
-### Nested Schema for `operation.errors`
+### Nested Schema for ``
Read-Only:
@@ -296,16 +287,17 @@ Read-Only:
- `help` (String)
-
-### Nested Schema for `operation.errors.additional_info`
+### Nested Schema for ``
Read-Only:
- `property` (String)
- `reason` (String)
-
+
+
+
### Nested Schema for `order`
Read-Only:
@@ -315,8 +307,8 @@ Read-Only:
- `order_number` (String)
- `purchase_order_number` (String)
-
+
### Nested Schema for `project`
Read-Only:
@@ -324,8 +316,8 @@ Read-Only:
- `href` (String)
- `project_id` (String)
-
+
### Nested Schema for `redundancy`
Read-Only:
@@ -333,8 +325,8 @@ Read-Only:
- `group` (String)
- `priority` (String)
-
+
### Nested Schema for `z_side`
Read-Only:
@@ -344,14 +336,13 @@ Read-Only:
- `service_token` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--service_token))
-
-### Nested Schema for `z_side.access_point`
+### Nested Schema for ``
Read-Only:
- `account` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--account))
- `authentication_key` (String)
-- `gateway` (Set of Object, Deprecated) **Deprecated** `gateway` Use `router` attribute instead (see [below for nested schema](#nestedobjatt--z_side--access_point--gateway))
+- `gateway` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--gateway))
- `interface` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--interface))
- `link_protocol` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--link_protocol))
- `location` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--location))
@@ -366,8 +357,7 @@ Read-Only:
- `virtual_device` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--virtual_device))
-
-### Nested Schema for `z_side.access_point.account`
+### Nested Schema for ``
Read-Only:
@@ -380,18 +370,18 @@ Read-Only:
- `organization_name` (String)
- `ucm_id` (String)
-
-### Nested Schema for `z_side.access_point.gateway`
+
+### Nested Schema for ``
Read-Only:
- `href` (String)
- `uuid` (String)
-
-### Nested Schema for `z_side.access_point.interface`
+
+### Nested Schema for ``
Read-Only:
@@ -399,9 +389,9 @@ Read-Only:
- `type` (String)
- `uuid` (String)
-
-### Nested Schema for `z_side.access_point.link_protocol`
+
+### Nested Schema for ``
Read-Only:
@@ -410,9 +400,9 @@ Read-Only:
- `vlan_s_tag` (Number)
- `vlan_tag` (Number)
-
-### Nested Schema for `z_side.access_point.location`
+
+### Nested Schema for ``
Read-Only:
@@ -421,18 +411,18 @@ Read-Only:
- `metro_name` (String)
- `region` (String)
-
-### Nested Schema for `z_side.access_point.network`
+
+### Nested Schema for ``
Read-Only:
- `href` (String)
- `uuid` (String)
-
-### Nested Schema for `z_side.access_point.port`
+
+### Nested Schema for ``
Read-Only:
@@ -442,8 +432,7 @@ Read-Only:
- `uuid` (String)
-
-### Nested Schema for `z_side.access_point.port.uuid`
+### Nested Schema for ``
Read-Only:
@@ -451,9 +440,10 @@ Read-Only:
- `group` (String)
- `priority` (String)
-
-### Nested Schema for `z_side.access_point.profile`
+
+
+### Nested Schema for ``
Read-Only:
@@ -465,26 +455,26 @@ Read-Only:
- `uuid` (String)
-
-### Nested Schema for `z_side.access_point.profile.uuid`
+### Nested Schema for ``
Read-Only:
- `type` (String)
- `uuid` (String)
-
-### Nested Schema for `z_side.access_point.router`
+
+
+### Nested Schema for ``
Read-Only:
- `href` (String)
- `uuid` (String)
-
-### Nested Schema for `z_side.access_point.virtual_device`
+
+### Nested Schema for ``
Read-Only:
@@ -493,18 +483,19 @@ Read-Only:
- `type` (String)
- `uuid` (String)
-
-### Nested Schema for `z_side.additional_info`
+
+
+### Nested Schema for ``
Read-Only:
- `key` (String)
- `value` (String)
-
-### Nested Schema for `z_side.service_token`
+
+### Nested Schema for ``
Read-Only:
diff --git a/docs/data-sources/fabric_network.md b/docs/data-sources/fabric_network.md
index 7107c7637..5903a3b7e 100644
--- a/docs/data-sources/fabric_network.md
+++ b/docs/data-sources/fabric_network.md
@@ -1,7 +1,7 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_network Data Source - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible data resource that allow user to fetch Fabric Network for a given UUID
---
@@ -10,16 +10,9 @@ description: |-
Fabric V4 API compatible data resource that allow user to fetch Fabric Network for a given UUID
-## Example Usage
-```terraform
-data "equinix_fabric_network" "network_data_name" {
- uuid = ""
-}
-```
-
## Schema
### Required
@@ -43,7 +36,6 @@ data "equinix_fabric_network" "network_data_name" {
- `type` (String) Supported Network types - EVPLAN, EPLAN, IPWAN
-
### Nested Schema for `change`
Read-Only:
@@ -52,8 +44,8 @@ Read-Only:
- `type` (String)
- `uuid` (String)
-
+
### Nested Schema for `change_log`
Read-Only:
@@ -71,8 +63,8 @@ Read-Only:
- `updated_by_full_name` (String)
- `updated_date_time` (String)
-
+
### Nested Schema for `location`
Read-Only:
@@ -82,8 +74,8 @@ Read-Only:
- `metro_name` (String)
- `region` (String)
-
+
### Nested Schema for `notifications`
Read-Only:
@@ -92,16 +84,16 @@ Read-Only:
- `send_interval` (String)
- `type` (String)
-
+
### Nested Schema for `operation`
Read-Only:
- `equinix_status` (String)
-
+
### Nested Schema for `project`
Read-Only:
diff --git a/docs/data-sources/fabric_port.md b/docs/data-sources/fabric_port.md
index 430f1d996..4ac2f36c9 100644
--- a/docs/data-sources/fabric_port.md
+++ b/docs/data-sources/fabric_port.md
@@ -1,7 +1,7 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_port Data Source - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible data resource that allow user to fetch port by uuid
---
@@ -10,16 +10,9 @@ description: |-
Fabric V4 API compatible data resource that allow user to fetch port by uuid
-## Example Usage
-```terraform
-data "equinix_fabric_port" "port_data_name" {
- uuid = ""
-}
-```
-
## Schema
### Required
@@ -48,7 +41,6 @@ data "equinix_fabric_port" "port_data_name" {
- `used_bandwidth` (Number) Port used bandwidth in Mbps
-
### Nested Schema for `account`
Read-Only:
@@ -60,9 +52,10 @@ Read-Only:
- `global_organization_name` (String)
- `org_id` (Number)
- `organization_name` (String)
+- `ucm_id` (String)
-
+
### Nested Schema for `change_log`
Read-Only:
@@ -80,8 +73,8 @@ Read-Only:
- `updated_by_full_name` (String)
- `updated_date_time` (String)
-
+
### Nested Schema for `device`
Read-Only:
@@ -90,8 +83,7 @@ Read-Only:
- `redundancy` (Set of Object) (see [below for nested schema](#nestedobjatt--device--redundancy))
-
-### Nested Schema for `device.redundancy`
+### Nested Schema for ``
Read-Only:
@@ -99,8 +91,9 @@ Read-Only:
- `group` (String)
- `priority` (String)
-
+
+
### Nested Schema for `encapsulation`
Read-Only:
@@ -108,8 +101,8 @@ Read-Only:
- `tag_protocol_id` (String)
- `type` (String)
-
+
### Nested Schema for `location`
Read-Only:
@@ -119,8 +112,8 @@ Read-Only:
- `metro_name` (String)
- `region` (String)
-
+
### Nested Schema for `operation`
Read-Only:
@@ -129,8 +122,8 @@ Read-Only:
- `op_status_changed_at` (String)
- `operational_status` (String)
-
+
### Nested Schema for `redundancy`
Read-Only:
diff --git a/docs/data-sources/fabric_ports.md b/docs/data-sources/fabric_ports.md
index daf59cdaa..f8e54c20a 100644
--- a/docs/data-sources/fabric_ports.md
+++ b/docs/data-sources/fabric_ports.md
@@ -1,7 +1,7 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_ports Data Source - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible data resource that allow user to fetch port by name
---
@@ -10,18 +10,9 @@ description: |-
Fabric V4 API compatible data resource that allow user to fetch port by name
-## Example Usage
-```terraform
-data "equinix_fabric_ports" "ports_data_name" {
- filters {
- name = ""
- }
-}
-```
-
## Schema
### Required
@@ -34,15 +25,14 @@ data "equinix_fabric_ports" "ports_data_name" {
- `id` (String) The ID of this resource.
-
### Nested Schema for `filters`
Required:
- `name` (String) Query Parameter to Get Ports By Name
-
+
### Nested Schema for `data`
Read-Only:
@@ -67,8 +57,7 @@ Read-Only:
- `uuid` (String)
-
-### Nested Schema for `data.account`
+### Nested Schema for ``
Read-Only:
@@ -79,10 +68,11 @@ Read-Only:
- `global_organization_name` (String)
- `org_id` (Number)
- `organization_name` (String)
+- `ucm_id` (String)
-
-### Nested Schema for `data.change_log`
+
+### Nested Schema for ``
Read-Only:
@@ -99,9 +89,9 @@ Read-Only:
- `updated_by_full_name` (String)
- `updated_date_time` (String)
-
-### Nested Schema for `data.device`
+
+### Nested Schema for ``
Read-Only:
@@ -109,8 +99,7 @@ Read-Only:
- `redundancy` (Set of Object) (see [below for nested schema](#nestedobjatt--data--device--redundancy))
-
-### Nested Schema for `data.device.redundancy`
+### Nested Schema for ``
Read-Only:
@@ -118,18 +107,19 @@ Read-Only:
- `group` (String)
- `priority` (String)
-
-### Nested Schema for `data.encapsulation`
+
+
+### Nested Schema for ``
Read-Only:
- `tag_protocol_id` (String)
- `type` (String)
-
-### Nested Schema for `data.location`
+
+### Nested Schema for ``
Read-Only:
@@ -138,9 +128,9 @@ Read-Only:
- `metro_name` (String)
- `region` (String)
-
-### Nested Schema for `data.operation`
+
+### Nested Schema for ``
Read-Only:
@@ -148,9 +138,9 @@ Read-Only:
- `op_status_changed_at` (String)
- `operational_status` (String)
-
-### Nested Schema for `data.redundancy`
+
+### Nested Schema for ``
Read-Only:
diff --git a/docs/data-sources/fabric_routing_protocol.md b/docs/data-sources/fabric_routing_protocol.md
index 728b9222b..47c9b16db 100644
--- a/docs/data-sources/fabric_routing_protocol.md
+++ b/docs/data-sources/fabric_routing_protocol.md
@@ -1,7 +1,7 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_routing_protocol Data Source - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible data resource that allow user to fetch routing protocol for a given UUID
---
@@ -10,19 +10,9 @@ description: |-
Fabric V4 API compatible data resource that allow user to fetch routing protocol for a given UUID
-API documentation can be found here - https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#routing-protocols
-## Example Usage
-
-```terraform
-data "equinix_fabric_routing_protocol" "routing_protocol_data_name" {
- connection_uuid = ""
- uuid = ""
-}
-```
-
## Schema
### Required
@@ -51,7 +41,6 @@ data "equinix_fabric_routing_protocol" "routing_protocol_data_name" {
- `type` (String) Defines the routing protocol type like BGP or DIRECT
-
### Nested Schema for `bfd`
Read-Only:
@@ -59,8 +48,8 @@ Read-Only:
- `enabled` (Boolean)
- `interval` (String)
-
+
### Nested Schema for `bgp_ipv4`
Read-Only:
@@ -69,8 +58,8 @@ Read-Only:
- `enabled` (Boolean)
- `equinix_peer_ip` (String)
-
+
### Nested Schema for `bgp_ipv6`
Read-Only:
@@ -79,8 +68,8 @@ Read-Only:
- `enabled` (Boolean)
- `equinix_peer_ip` (String)
-
+
### Nested Schema for `change`
Read-Only:
@@ -89,8 +78,8 @@ Read-Only:
- `type` (String)
- `uuid` (String)
-
+
### Nested Schema for `change_log`
Read-Only:
@@ -108,24 +97,24 @@ Read-Only:
- `updated_by_full_name` (String)
- `updated_date_time` (String)
-
+
### Nested Schema for `direct_ipv4`
Read-Only:
- `equinix_iface_ip` (String)
-
+
### Nested Schema for `direct_ipv6`
Read-Only:
- `equinix_iface_ip` (String)
-
+
### Nested Schema for `operation`
Read-Only:
@@ -133,8 +122,7 @@ Read-Only:
- `errors` (List of Object) (see [below for nested schema](#nestedobjatt--operation--errors))
-
-### Nested Schema for `operation.errors`
+### Nested Schema for ``
Read-Only:
@@ -146,8 +134,7 @@ Read-Only:
- `help` (String)
-
-### Nested Schema for `operation.errors.additional_info`
+### Nested Schema for ``
Read-Only:
diff --git a/docs/data-sources/fabric_service_profile.md b/docs/data-sources/fabric_service_profile.md
index 9ee393da6..b8a80e0d0 100644
--- a/docs/data-sources/fabric_service_profile.md
+++ b/docs/data-sources/fabric_service_profile.md
@@ -1,7 +1,7 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_service_profile Data Source - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible data resource that allow user to fetch Service Profile by UUID filter criteria
---
@@ -10,16 +10,9 @@ description: |-
Fabric V4 API compatible data resource that allow user to fetch Service Profile by UUID filter criteria
-## Example Usage
-```terraform
-data "equinix_fabric_service_profile" "service_profile_data_name" {
- uuid = ""
-}
-```
-
## Schema
### Required
@@ -42,7 +35,7 @@ data "equinix_fabric_service_profile" "service_profile_data_name" {
- `notifications` (List of Object) Preferences for notifications on connection configuration or status changes (see [below for nested schema](#nestedatt--notifications))
- `ports` (List of Object) Ports (see [below for nested schema](#nestedatt--ports))
- `project` (Set of Object) Project information (see [below for nested schema](#nestedatt--project))
-- `self_profile` (Boolean) Self Profile indicating if the profile is created for customer's self use
+- `self_profile` (Boolean) Self Profile indicating if the profile is created for customer's self use
- `state` (String) Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED
- `tags` (List of String) Tags attached to the connection
- `type` (String) Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE
@@ -50,7 +43,6 @@ data "equinix_fabric_service_profile" "service_profile_data_name" {
- `visibility` (String) Service profile visibility - PUBLIC, PRIVATE
-
### Nested Schema for `access_point_type_configs`
Read-Only:
@@ -71,8 +63,7 @@ Read-Only:
- `uuid` (String)
-
-### Nested Schema for `access_point_type_configs.api_config`
+### Nested Schema for ``
Read-Only:
@@ -84,9 +75,9 @@ Read-Only:
- `integration_id` (String)
- `over_subscription_limit` (Number)
-
-### Nested Schema for `access_point_type_configs.authentication_key`
+
+### Nested Schema for ``
Read-Only:
@@ -94,9 +85,9 @@ Read-Only:
- `label` (String)
- `required` (Boolean)
-
-### Nested Schema for `access_point_type_configs.link_protocol_config`
+
+### Nested Schema for ``
Read-Only:
@@ -104,8 +95,9 @@ Read-Only:
- `encapsulation_strategy` (String)
- `reuse_vlan_s_tag` (Boolean)
-
+
+
### Nested Schema for `account`
Read-Only:
@@ -119,8 +111,8 @@ Read-Only:
- `organization_name` (String)
- `ucm_id` (String)
-
+
### Nested Schema for `change_log`
Read-Only:
@@ -138,8 +130,8 @@ Read-Only:
- `updated_by_full_name` (String)
- `updated_date_time` (String)
-
+
### Nested Schema for `custom_fields`
Read-Only:
@@ -151,8 +143,8 @@ Read-Only:
- `options` (List of String)
- `required` (Boolean)
-
+
### Nested Schema for `marketing_info`
Read-Only:
@@ -162,8 +154,7 @@ Read-Only:
- `promotion` (Boolean)
-
-### Nested Schema for `marketing_info.process_step`
+### Nested Schema for ``
Read-Only:
@@ -171,8 +162,9 @@ Read-Only:
- `sub_title` (String)
- `title` (String)
-
+
+
### Nested Schema for `metros`
Read-Only:
@@ -184,8 +176,8 @@ Read-Only:
- `name` (String)
- `seller_regions` (Map of String)
-
+
### Nested Schema for `notifications`
Read-Only:
@@ -194,8 +186,8 @@ Read-Only:
- `send_interval` (String)
- `type` (String)
-
+
### Nested Schema for `ports`
Read-Only:
@@ -208,8 +200,7 @@ Read-Only:
- `uuid` (String)
-
-### Nested Schema for `ports.location`
+### Nested Schema for ``
Read-Only:
@@ -218,8 +209,9 @@ Read-Only:
- `metro_name` (String)
- `region` (String)
-
+
+
### Nested Schema for `project`
Read-Only:
@@ -227,8 +219,8 @@ Read-Only:
- `href` (String)
- `project_id` (String)
-
+
### Nested Schema for `virtual_devices`
Read-Only:
@@ -239,8 +231,7 @@ Read-Only:
- `uuid` (String)
-
-### Nested Schema for `virtual_devices.location`
+### Nested Schema for ``
Read-Only:
diff --git a/docs/data-sources/fabric_service_profiles.md b/docs/data-sources/fabric_service_profiles.md
index 5aeb4890c..52fd824f0 100644
--- a/docs/data-sources/fabric_service_profiles.md
+++ b/docs/data-sources/fabric_service_profiles.md
@@ -1,7 +1,7 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_service_profiles Data Source - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible data resource that allow user to fetch Service Profile by name filter criteria
---
@@ -10,20 +10,9 @@ description: |-
Fabric V4 API compatible data resource that allow user to fetch Service Profile by name filter criteria
-## Example Usage
-```terraform
-data "equinix_fabric_service_profiles" "service_profiles_data_name" {
- filter {
- property = "/name"
- operator = "="
- values = [""]
- }
-}
-```
-
## Schema
### Optional
@@ -38,7 +27,6 @@ data "equinix_fabric_service_profiles" "service_profiles_data_name" {
- `id` (String) The ID of this resource.
-
### Nested Schema for `filter`
Optional:
@@ -47,8 +35,8 @@ Optional:
- `property` (String) Search Criteria for Service Profile - /name, /uuid, /state, /metros/code, /visibility, /type
- `values` (List of String) Values
-
+
### Nested Schema for `sort`
Optional:
@@ -56,8 +44,8 @@ Optional:
- `direction` (String) Priority type- DESC, ASC
- `property` (String) Search operation sort criteria /name /state /changeLog/createdDateTime /changeLog/updatedDateTime
-
+
### Nested Schema for `data`
Read-Only:
@@ -84,8 +72,7 @@ Read-Only:
- `visibility` (String)
-
-### Nested Schema for `data.access_point_type_configs`
+### Nested Schema for ``
Read-Only:
@@ -105,8 +92,7 @@ Read-Only:
- `uuid` (String)
-
-### Nested Schema for `data.access_point_type_configs.api_config`
+### Nested Schema for ``
Read-Only:
@@ -118,9 +104,9 @@ Read-Only:
- `integration_id` (String)
- `over_subscription_limit` (Number)
-
-### Nested Schema for `data.access_point_type_configs.authentication_key`
+
+### Nested Schema for ``
Read-Only:
@@ -128,9 +114,9 @@ Read-Only:
- `label` (String)
- `required` (Boolean)
-
-### Nested Schema for `data.access_point_type_configs.link_protocol_config`
+
+### Nested Schema for ``
Read-Only:
@@ -138,9 +124,10 @@ Read-Only:
- `encapsulation_strategy` (String)
- `reuse_vlan_s_tag` (Boolean)
-
-### Nested Schema for `data.account`
+
+
+### Nested Schema for ``
Read-Only:
@@ -153,9 +140,9 @@ Read-Only:
- `organization_name` (String)
- `ucm_id` (String)
-
-### Nested Schema for `data.change_log`
+
+### Nested Schema for ``
Read-Only:
@@ -172,9 +159,9 @@ Read-Only:
- `updated_by_full_name` (String)
- `updated_date_time` (String)
-
-### Nested Schema for `data.custom_fields`
+
+### Nested Schema for ``
Read-Only:
@@ -185,9 +172,9 @@ Read-Only:
- `options` (List of String)
- `required` (Boolean)
-
-### Nested Schema for `data.marketing_info`
+
+### Nested Schema for ``
Read-Only:
@@ -196,8 +183,7 @@ Read-Only:
- `promotion` (Boolean)
-
-### Nested Schema for `data.marketing_info.process_step`
+### Nested Schema for ``
Read-Only:
@@ -205,9 +191,10 @@ Read-Only:
- `sub_title` (String)
- `title` (String)
-
-### Nested Schema for `data.metros`
+
+
+### Nested Schema for ``
Read-Only:
@@ -218,9 +205,9 @@ Read-Only:
- `name` (String)
- `seller_regions` (Map of String)
-
-### Nested Schema for `data.notifications`
+
+### Nested Schema for ``
Read-Only:
@@ -228,9 +215,9 @@ Read-Only:
- `send_interval` (String)
- `type` (String)
-
-### Nested Schema for `data.ports`
+
+### Nested Schema for ``
Read-Only:
@@ -242,8 +229,7 @@ Read-Only:
- `uuid` (String)
-
-### Nested Schema for `data.ports.location`
+### Nested Schema for ``
Read-Only:
@@ -252,18 +238,19 @@ Read-Only:
- `metro_name` (String)
- `region` (String)
-
-### Nested Schema for `data.project`
+
+
+### Nested Schema for ``
Read-Only:
- `href` (String)
- `project_id` (String)
-
-### Nested Schema for `data.virtual_devices`
+
+### Nested Schema for ``
Read-Only:
@@ -273,8 +260,7 @@ Read-Only:
- `uuid` (String)
-
-### Nested Schema for `data.virtual_devices.location`
+### Nested Schema for ``
Read-Only:
diff --git a/docs/data-sources/metal_connection.md b/docs/data-sources/metal_connection.md
index 42d3e58f8..7ec277e4d 100644
--- a/docs/data-sources/metal_connection.md
+++ b/docs/data-sources/metal_connection.md
@@ -1,58 +1,70 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_connection Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_connection (Data Source)
-Use this data source to retrieve a [connection resource](https://metal.equinix.com/developers/docs/networking/fabric/)
-
-~> Equinix Metal connection with with Service Token A-side / Z-side (service_token_type) is not generally available and may not be enabled yet for your organization.
-
-## Example Usage
-
-```terraform
-data "equinix_metal_connection" "example" {
- connection_id = "4347e805-eb46-4699-9eb9-5c116e6a017d"
-}
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `connection_id` - (Required) ID of the connection resource.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `name` - Name of the connection resource.
-* `metro` - Slug of a metro to which the connection belongs.
-* `facility` - (**Deprecated**) Slug of a facility to which the connection belongs. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `contact_email` - The preferred email used for communication and notifications about the Equinix Fabric interconnection.
-* `redundancy` - Connection redundancy, reduntant or primary.
-* `type` - Connection type, dedicated or shared.
-* `project_id` - ID of project to which the connection belongs.
-* `speed` - Connection speed - Values will be in the format 'Mbps' or 'Gpbs', for example '100Mbps`, '50Gbps', etc.
-* `description` - Description of the connection resource.
-* `mode` - Mode for connections in IBX facilities with the dedicated type - standard or tunnel.
-* `tags` - String list of tags.
-* `vlans` - Attached VLANs. Only available in shared connection. One vlan for Primary/Single connection and two vlans for Redundant connection.
-* `service_token_type` - Type of service token, a_side or z_side. One available in shared connection.
-* `organization_id` - ID of the organization where the connection is scoped to.
-* `status` - Status of the connection resource.
-* `service_tokens` - List of connection service tokens with attributes
- * `id` - UUID of the service token required to configure the connection in Equinix Fabric with the [equinix_ecx_l2_connection](../resources/equinix_ecx_l2_connection.md) resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard).
- * `expires_at` - Expiration date of the service token.
- * `max_allowed_speed` - Maximum allowed speed for the service token, string like in the `speed` attribute.
- * `type` - Token type, `a_side` or `z_side`.
- * `role` - Token role, `primary` or `secondary`.
-* `ports` - List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`)
- * `name` - Port name.
- * `id` - Port UUID.
- * `role` - Port role - primary or secondary.
- * `speed` - Port speed in bits per second.
- * `status` - Port status.
- * `link_status` - Port link status.
- * `virtual_circuit_ids` - List of IDs of virtual cicruits attached to this port.
-* `token` - (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the [equinix_ecx_l2_connection](../resources/equinix_ecx_l2_connection.md) resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `service_tokens` instead.
+
+
+
+
+
+## Schema
+
+### Required
+
+- `connection_id` (String) ID of the connection to lookup
+
+### Read-Only
+
+- `authorization_code` (String) Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
+- `contact_email` (String) The preferred email used for communication and notifications about the Equinix Fabric interconnection
+- `description` (String) Description of the connection resource
+- `facility` (String, Deprecated) Facility which the connection is scoped to
+- `id` (String) The unique identifier of the resource
+- `metro` (String) Metro which the connection is scoped to
+- `mode` (String) Connection mode - standard or tunnel
+- `name` (String) Name of the connection resource
+- `organization_id` (String) ID of organization to which the connection is scoped to
+- `ports` (List of Object) List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`) (see [below for nested schema](#nestedatt--ports))
+- `project_id` (String) ID of project to which the connection belongs
+- `redundancy` (String) Connection redundancy - redundant or primary
+- `service_token_type` (String) Only used with shared connection. Type of service token to use for the connection, a_side or z_side
+- `service_tokens` (List of Object) Only used with shared connection. List of service tokens required to continue the setup process with [equinix_ecx_l2_connection](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_ecx_l2_connection) or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard) (see [below for nested schema](#nestedatt--service_tokens))
+- `speed` (String) Connection speed - Values will be in the format 'Mbps' or 'Gpbs', for example '100Mbps`, '50Gbps', etc.
+- `status` (String) Status of the connection resource
+- `tags` (List of String) Tags attached to the connection
+- `token` (String, Deprecated) Only used with shared connection. Fabric Token required to continue the setup process with [equinix_ecx_l2_connection](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_ecx_l2_connection) or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard)
+- `type` (String) Connection type - dedicated or shared
+- `vlans` (List of Number) Attached vlans, only in shared connection
+- `vrfs` (List of String) Attached vrfs, only in shared connection
+
+
+### Nested Schema for `ports`
+
+Read-Only:
+
+- `id` (String)
+- `link_status` (String)
+- `name` (String)
+- `role` (String)
+- `speed` (Number)
+- `status` (String)
+- `virtual_circuit_ids` (List of String)
+
+
+
+### Nested Schema for `service_tokens`
+
+Read-Only:
+
+- `expires_at` (String)
+- `id` (String)
+- `max_allowed_speed` (String)
+- `role` (String)
+- `state` (String)
+- `type` (String)
diff --git a/docs/data-sources/metal_device.md b/docs/data-sources/metal_device.md
index 35393630a..ec9954388 100644
--- a/docs/data-sources/metal_device.md
+++ b/docs/data-sources/metal_device.md
@@ -1,99 +1,70 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_device Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_device (Data Source)
-The datasource can be used to fetch a single device.
-If you need to fetch a list of devices which meet filter criteria, you can use the [equinix_metal_devices](equinix_metal_devices.md) datasource.
-~> **Note:** All arguments including the `root_password` and `user_data` will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://developer.hashicorp.com/terraform/language/state/sensitive-data).
-## Example Usage
-```terraform
-# Fetch a device data by hostname and show it's ID
+
+## Schema
-data "equinix_metal_device" "test" {
- project_id = local.project_id
- hostname = "mydevice"
-}
+### Optional
-output "id" {
- value = data.equinix_metal_device.test.id
-}
-```
+- `device_id` (String) Device ID
+- `hostname` (String) The device name
+- `project_id` (String) The id of the project in which the devices exists
-```terraform
-# Fetch a device data by ID and show its public IPv4
-data "equinix_metal_device" "test" {
- device_id = "4c641195-25e5-4c3c-b2b7-4cd7a42c7b40"
-}
+### Read-Only
-output "ipv4" {
- value = data.equinix_metal_device.test.access_public_ipv4
-}
-```
+- `access_private_ipv4` (String) The ipv4 private IP assigned to the device
+- `access_public_ipv4` (String) The ipv4 management IP assigned to the device
+- `access_public_ipv6` (String) The ipv6 management IP assigned to the device
+- `always_pxe` (Boolean)
+- `billing_cycle` (String) The billing cycle of the device (monthly or hourly)
+- `description` (String) Description string for the device
+- `facility` (String, Deprecated) The facility where the device is deployed
+- `hardware_reservation_id` (String) The id of hardware reservation which this device occupies
+- `id` (String) The ID of this resource.
+- `ipxe_script_url` (String)
+- `metro` (String) The metro where the device is deployed
+- `network` (List of Object) The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 networks: ublic IPv4 at equinix_metal_device.name.network.0, IPv6 at equinix_metal_device.name.network.1 and private IPv4 at equinix_metal_device.name.network.2. Elastic addresses then stack by type - an assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list). (see [below for nested schema](#nestedatt--network))
+- `network_type` (String) L2 network type of the device, one oflayer3, hybrid, layer2-individual, layer2-bonded
+- `operating_system` (String) The operating system running on the device
+- `plan` (String) The hardware config of the device
+- `ports` (List of Object) Ports assigned to the device (see [below for nested schema](#nestedatt--ports))
+- `root_password` (String, Sensitive) Root password to the server (if still available)
+- `sos_hostname` (String) The hostname to use for [Serial over SSH](https://deploy.equinix.com/developers/docs/metal/resilience-recovery/serial-over-ssh/) access to the device
+- `ssh_key_ids` (List of String) List of IDs of SSH keys deployed in the device, can be both user or project SSH keys
+- `state` (String) The state of the device
+- `storage` (String)
+- `tags` (List of String) Tags attached to the device
-## Argument Reference
+
+### Nested Schema for `network`
-The following arguments are supported:
+Read-Only:
-* `hostname` - (Optional) The device name.
-* `project_id` - (Optional) The id of the project in which the devices exists.
-* `device_id` - (Optional) Device ID.
+- `address` (String)
+- `cidr` (Number)
+- `family` (Number)
+- `gateway` (String)
+- `public` (Boolean)
--> **NOTE:** You should pass either `device_id`, or both `project_id` and `hostname`.
-## Attributes Reference
+
+### Nested Schema for `ports`
-In addition to all arguments above, the following attributes are exported:
+Read-Only:
-* `access_private_ipv4` - The ipv4 private IP assigned to the device.
-* `access_public_ipv4` - The ipv4 management IP assigned to the device.
-* `access_public_ipv6` - The ipv6 management IP assigned to the device.
-* `billing_cycle` - The billing cycle of the device (monthly or hourly).
-* `facility` - (**Deprecated**) The facility where the device is deployed. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `description` - Description string for the device.
-* `hardware_reservation_id` - The id of hardware reservation which this device occupies.
-* `id` - The ID of the device.
-* `metro` - The metro where the device is deployed
-* `network` - The device's private and public IP (v4 and v6) network details. See [Network Attribute](#network-attribute) below for more details.
-* `network_type` - L2 network type of the device, one of `layer3`, `layer2-bonded`, `layer2-individual`, `hybrid`.
-* `operating_system` - The operating system running on the device.
-* `plan` - The hardware config of the device.
-* `ports` - List of ports assigned to the device. See [Ports Attribute](#ports-attribute) below for more details.
-* `root_password` - Root password to the server (if still available).
-* `sos_hostname` - The hostname to use for [Serial over SSH](https://deploy.equinix.com/developers/docs/metal/resilience-recovery/serial-over-ssh/) access to the device
-* `ssh_key_ids` - List of IDs of SSH keys deployed in the device, can be both user or project SSH keys.
-* `state` - The state of the device.
-* `tags` - Tags attached to the device.
-
-### Network Attribute
-
-When a device is run without any special network, it will have 3 networks:
-
-* Public IPv4 at `equinix_metal_device.name.network.0`.
-* IPv6 at `equinix_metal_device.name.network.1`.
-* Private IPv4 at `equinix_metal_device.name.network.2`.
-
--> **NOTE:** Elastic addresses stack by type. An assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list).
-
-Each element in the `network` list exports:
-
-* `address` - IPv4 or IPv6 address string.
-* `cidr` - Bit length of the network mask of the address.
-* `gateway` - Address of router.
-* `public` - Whether the address is routable from the Internet.
-* `family` - IP version. One of `4`, `6`.
-
-### Ports Attribute
-
-Each element in the `ports` list exports:
-
-* `name` - Name of the port (e.g. `eth0`, or `bond0`).
-* `id` - ID of the port.
-* `type` - Type of the port (e.g. `NetworkPort` or `NetworkBondPort`).
-* `mac` - MAC address assigned to the port.
-* `bonded` - Whether this port is part of a bond in bonded network setup.
+- `bonded` (Boolean)
+- `id` (String)
+- `mac` (String)
+- `name` (String)
+- `type` (String)
diff --git a/docs/data-sources/metal_device_bgp_neighbors.md b/docs/data-sources/metal_device_bgp_neighbors.md
index cb593c277..63caaf873 100644
--- a/docs/data-sources/metal_device_bgp_neighbors.md
+++ b/docs/data-sources/metal_device_bgp_neighbors.md
@@ -1,49 +1,58 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_device_bgp_neighbors Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_device_bgp_neighbors (Data Source)
-Use this datasource to retrieve list of BGP neighbors of a device in the Equinix Metal host.
-To have any BGP neighbors listed, the device must be in [BGP-enabled project](../r/project.html) and have a [BGP session](../r/bgp_session.html) assigned.
-To learn more about using BGP in Equinix Metal, see the [equinix_metal_bgp_session](../r/bgp_session.html) resource documentation.
-## Example Usage
-```terraform
-# Get Project by name and print UUIDs of its users
+
+## Schema
-data "equinix_metal_device_bgp_neighbors" "test" {
- device_id = "4c641195-25e5-4c3c-b2b7-4cd7a42c7b40"
-}
+### Required
-output "bgp_neighbors_listing" {
- value = data.equinix_metal_device_bgp_neighbors.test.bgp_neighbors
-}
-```
+- `device_id` (String) UUID of BGP-enabled device whose neighbors to list
-## Argument Reference
+### Read-Only
-The following arguments are supported:
+- `bgp_neighbors` (List of Object) Array of BGP neighbor records (see [below for nested schema](#nestedatt--bgp_neighbors))
+- `id` (String) The ID of this resource.
-* `device_id` - (Required) UUID of BGP-enabled device whose neighbors to list.
+
+### Nested Schema for `bgp_neighbors`
-## Attributes Reference
+Read-Only:
-In addition to all arguments above, the following attributes are exported:
+- `address_family` (Number)
+- `customer_as` (Number)
+- `customer_ip` (String)
+- `md5_enabled` (Boolean)
+- `md5_password` (String)
+- `multihop` (Boolean)
+- `peer_as` (Number)
+- `peer_ips` (List of String)
+- `routes_in` (List of Object) (see [below for nested schema](#nestedobjatt--bgp_neighbors--routes_in))
+- `routes_out` (List of Object) (see [below for nested schema](#nestedobjatt--bgp_neighbors--routes_out))
-* `bgp_neighbors` - array of BGP neighbor records with attributes:
- * `address_family` - IP address version, 4 or 6.
- * `customer_as` - Local autonomous system number.
- * `customer_ip` - Local used peer IP address.
- * `md5_enabled` - Whether BGP session is password enabled.
- * `md5_password` - BGP session password in plaintext (not a checksum).
- * `multihop` - Whether the neighbor is in EBGP multihop session.
- * `peer_as` - Peer AS number (different than customer_as for EBGP).
- * `peer_ips` - Array of IP addresses of this neighbor's peers.
- * `routes_in` - Array of incoming routes.
- * `route` - CIDR expression of route (IP/mask).
- * `exact` - (bool) Whether the route is exact.
- * `routes_out` - Array of outgoing routes in the same format.
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `exact` (Boolean)
+- `route` (String)
+
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `exact` (Boolean)
+- `route` (String)
diff --git a/docs/data-sources/metal_devices.md b/docs/data-sources/metal_devices.md
index aeeaa8b31..fac112aa6 100644
--- a/docs/data-sources/metal_devices.md
+++ b/docs/data-sources/metal_devices.md
@@ -1,69 +1,108 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_devices Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
-# equinix_metal_devices
+# equinix_metal_devices (Data Source)
-The datasource can be used to find a list of devices which meet filter criteria.
-If you need to fetch a single device by ID or by project ID and hostname, use the [equinix_metal_device](equinix_metal_device.md) datasource.
-## Example Usage
-```terraform
-# Following example will select c3.small.x86 devices which are deplyed in metro 'da' (Dallas)
-# OR 'sv' (Sillicon Valley).
-data "equinix_metal_devices" "example" {
- project_id = local.project_id
- filter {
- attribute = "plan"
- values = ["c3.small.x86"]
- }
- filter {
- attribute = "metro"
- values = ["da", "sv"]
- }
-}
-output "devices" {
- organization_id = local.org_id
- value = data.equinix_metal_devices.example.devices
-}
-```
+
+## Schema
-```terraform
-# Following example takes advantage of the `search` field in the API request, and will select devices with
-# string "database" in one of the searched attributes. See `search` in argument reference.
-data "equinix_metal_devices" "example" {
- search = "database"
-}
+### Optional
-output "devices" {
- value = data.equinix_metal_devices.example.devices
-}
-```
+- `filter` (Block Set) One or more attribute/values pairs on which to filter results (see [below for nested schema](#nestedblock--filter))
+- `organization_id` (String) The id of the organization to query for devices
+- `project_id` (String) The id of the project to query for devices
+- `search` (String) Search string to filter devices by hostname, description, short_id, reservation short_id, tags, plan name, plan slug, facility code, facility name, operating system name, operating system slug, IP addresses.
+- `sort` (Block List) One or more attribute/direction pairs on which to sort results. If multiple sorts are provided, they will be applied in order (see [below for nested schema](#nestedblock--sort))
-## search vs filter
+### Read-Only
-The difference between `search` and `filter` is that `search` is an API parameter, interpreted by the Equinix Metal service. The "filter" arguments will reduce the API list (or search) results by applying client-side filtering, within this provider.
+- `devices` (List of Object) List of devices that match specified filters (see [below for nested schema](#nestedatt--devices))
+- `id` (String) The ID of this resource.
-## Argument Reference
+
+### Nested Schema for `filter`
-The following arguments are supported:
+Required:
-* `project_id` - (Optional) ID of project containing the devices. Exactly one of `project_id` and `organization_id` must be set.
-* `organization_id` - (Optional) ID of organization containing the devices.
-* `search` - (Optional) - Search string to filter devices by hostname, description, short_id, reservation short_id, tags, plan name, plan slug, facility code, facility name, operating system name, operating system slug, IP addresses.
-* `filter` - (Optional) One or more attribute/values pairs to filter. List of atributes to filter can be found in the [attribute reference](equinix_metal_device.md#attributes-reference) of the `equinix_metal_device` datasource.
- - `attribute` - (Required) The attribute used to filter. Filter attributes are case-sensitive
- - `values` - (Required) The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR by default, and the request returns all results that match any of the specified values
- - `match_by` - (Optional) The type of comparison to apply. One of: `in` , `re`, `substring`, `less_than`, `less_than_or_equal`, `greater_than`, `greater_than_or_equal`. Default is `in`.
- - `all` - (Optional) If is set to true, the values are joined with an AND, and the requests returns only the results that match all specified values. Default is `false`.
+- `attribute` (String) The attribute used to filter. Filter attributes are case-sensitive
+- `values` (List of String) The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR by default, and the request returns all results that match any of the specified values
-All fields in the `devices` block defined below can be used as attribute for both `sort` and `filter` blocks.
+Optional:
-## Attributes Reference
+- `all` (Boolean) If is set to true, the values are joined with an AND, and the requests returns only the results that match all specified values
+- `match_by` (String) The type of comparison to apply. One of: in (default), re, substring, less_than, less_than_or_equal, greater_than, greater_than_or_equal
-In addition to all arguments above, the following attributes are exported:
-* `devices` - list of resources with attributes like in the [equninix_metal_device datasources](equinix_metal_device.md).
+
+### Nested Schema for `sort`
+
+Required:
+
+- `attribute` (String) The attribute used to sort the results. Sort attributes are case-sensitive
+
+Optional:
+
+- `direction` (String) Sort results in ascending or descending order. Strings are sorted in alphabetical order. One of: asc, desc
+
+
+
+### Nested Schema for `devices`
+
+Read-Only:
+
+- `access_private_ipv4` (String)
+- `access_public_ipv4` (String)
+- `access_public_ipv6` (String)
+- `always_pxe` (Boolean)
+- `billing_cycle` (String)
+- `description` (String)
+- `device_id` (String)
+- `facility` (String)
+- `hardware_reservation_id` (String)
+- `hostname` (String)
+- `ipxe_script_url` (String)
+- `metro` (String)
+- `network` (List of Object) (see [below for nested schema](#nestedobjatt--devices--network))
+- `network_type` (String)
+- `operating_system` (String)
+- `plan` (String)
+- `ports` (List of Object) (see [below for nested schema](#nestedobjatt--devices--ports))
+- `project_id` (String)
+- `root_password` (String)
+- `sos_hostname` (String)
+- `ssh_key_ids` (List of String)
+- `state` (String)
+- `storage` (String)
+- `tags` (List of String)
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `address` (String)
+- `cidr` (Number)
+- `family` (Number)
+- `gateway` (String)
+- `public` (Boolean)
+
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `bonded` (Boolean)
+- `id` (String)
+- `mac` (String)
+- `name` (String)
+- `type` (String)
diff --git a/docs/data-sources/metal_facility.md b/docs/data-sources/metal_facility.md
index 80f55b0b8..c812499b8 100644
--- a/docs/data-sources/metal_facility.md
+++ b/docs/data-sources/metal_facility.md
@@ -1,63 +1,43 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_facility Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_facility (Data Source)
-> **Deprecated** Use `equinix_metal_metro` instead. For more information, refer to the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices).
-Provides an Equinix Metal facility datasource.
-## Example Usage
-```terraform
-# Fetch a facility by code and show its ID
-data "equinix_metal_facility" "ny5" {
- code = "ny5"
-}
+
+## Schema
-output "id" {
- value = data.equinix_metal_facility.ny5.id
-}
-```
+### Required
-```terraform
-# Verify that facility "dc13" has capacity for provisioning 2 c3.small.x86
- devices and 1 c3.medium.x86 device and has specified features
+- `code` (String) The code of the Facility to match
-data "equinix_metal_facility" "test" {
- code = "dc13"
+### Optional
- features_required = ["backend_transfer", "global_ipv4"]
+- `capacity` (Block List) Optional list of capacity specifications by plan (see [below for nested schema](#nestedblock--capacity))
+- `features_required` (Set of String) Features which the facility needs to have
- capacity {
- plan = "c3.small.x86"
- quantity = 2
- }
+### Read-Only
- capacity {
- plan = "c3.medium.x86"
- quantity = 1
- }
-}
-```
+- `features` (List of String) The features of this Facility
+- `id` (String) The ID of this resource.
+- `metro` (String) This facility's metro code
+- `name` (String) The name of this Facility
-## Argument Reference
+
+### Nested Schema for `capacity`
-The following arguments are supported:
+Required:
-* `code` - (Required) The facility code to search for facilities.
-* `features_required` - (Optional) Set of feature strings that the facility must have. Some possible values are `baremetal`, `ibx`, `storage`, `global_ipv4`, `backend_transfer`, `layer_2`.
-* `capacity` - (Optional) One or more device plans for which the facility must have capacity.
- * `plan` - (Required) Device plan that must be available in selected location.
- * `quantity` - (Optional) Minimun number of devices that must be available in selected location. Default is `1`.
+- `plan` (String) Plan which has to be available in selected location
-## Attributes Reference
+Optional:
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The ID of the facility.
-* `name` - The name of the facility.
-* `features` - The features of the facility.
-* `metro` - The metro code the facility is part of.
+- `quantity` (Number)
diff --git a/docs/data-sources/metal_gateway.md b/docs/data-sources/metal_gateway.md
index 1facc2ee4..8d20e3d83 100644
--- a/docs/data-sources/metal_gateway.md
+++ b/docs/data-sources/metal_gateway.md
@@ -1,42 +1,30 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_gateway Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_gateway (Data Source)
-Use this datasource to retrieve Metal Gateway resources in Equinix Metal.
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-## Example Usage
-```terraform
-# Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses
-resource "equinix_metal_vlan" "test" {
- description = "test VLAN in SV"
- metro = "sv"
- project_id = local.project_id
-}
+
+## Schema
-data "equinix_metal_gateway" "test" {
- gateway_id = local.gateway_id
-}
-```
+### Required
-## Argument Reference
+- `gateway_id` (String) UUID of the Metal Gateway to fetch
-The following arguments are supported:
+### Read-Only
-* `gateway_id` - (Required) UUID of the metal gateway resource to retrieve.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `project_id` - UUID of the project where the gateway is scoped to.
-* `vlan_id` - UUID of the VLAN where the gateway is scoped to.
-* `vrf_id` - UUID of the VRF associated with the IP Reservation.
-* `ip_reservation_id` - UUID of IP reservation block bound to the gateway.
-* `private_ipv4_subnet_size` - Size of the private IPv4 subnet bound to this metal gateway. One of `8`, `16`, `32`, `64`, `128`.
-* `state` - Status of the gateway resource.
+- `id` (String) The unique identifier of the resource
+- `ip_reservation_id` (String) UUID of the associated IP Reservation
+- `private_ipv4_subnet_size` (Number) Size of the private IPv4 subnet to create for this gateway
+- `project_id` (String) UUID of the Project where the Gateway is scoped to
+- `state` (String) Status of the gateway resource
+- `vlan_id` (String) UUID of the associated VLAN
+- `vrf_id` (String) UUID of the VRF associated with the IP Reservation
diff --git a/docs/data-sources/metal_hardware_reservation.md b/docs/data-sources/metal_hardware_reservation.md
index 2f28607b2..ae45a4738 100644
--- a/docs/data-sources/metal_hardware_reservation.md
+++ b/docs/data-sources/metal_hardware_reservation.md
@@ -1,44 +1,31 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_hardware_reservation Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_hardware_reservation (Data Source)
-Use this data source to retrieve a [hardware reservation resource from Equinix Metal](https://metal.equinix.com/developers/docs/deploy/reserved/).
-You can look up hardware reservation by its ID or by ID of device which occupies it.
-## Example Usage
-```terraform
-// lookup by ID
-data "equinix_metal_hardware_reservation" "example" {
- id = "4347e805-eb46-4699-9eb9-5c116e6a0172"
-}
-// lookup by device ID
-data "equinix_metal_hardware_reservation" "example_by_device_id" {
- device_id = "ff85aa58-c106-4624-8f1c-7c64554047ea"
-}
-```
+
+## Schema
-## Argument Reference
+### Optional
-The following arguments are supported:
+- `device_id` (String) UUID of device occupying the reservation
+- `id` (String) ID of the hardware reservation to look up
-* `id` - (Optional) ID of the hardware reservation.
-* `device_id` - (Optional) UUID of device occupying the reservation.
+### Read-Only
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - ID of the hardware reservation to look up.
-* `short_id` - Reservation short ID.
-* `project_id` - UUID of project this reservation is scoped to.
-* `device_id` - UUID of device occupying the reservation.
-* `plan` - Plan type for the reservation.
-* `facility` - (**Deprecated**) Facility for the reservation. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `provisionable` - Flag indicating whether the reserved server is provisionable or not. Spare devices can't be provisioned unless they are activated first.
-* `spare` - Flag indicating whether the Hardware Reservation is a spare. Spare Hardware Reservations are used when a Hardware Reservations requires service from Metal Equinix.
-* `switch_uuid` - Switch short ID, can be used to determine if two devices are connected to the same switch.
+- `facility` (String, Deprecated) Facility for the reservation
+- `plan` (String) Plan type for the reservation
+- `project_id` (String) UUID of project this reservation is scoped to
+- `provisionable` (Boolean) Flag indicating whether the reserved server is provisionable or not. Spare devices can't be provisioned unless they are activated first
+- `short_id` (String) Reservation short ID
+- `spare` (Boolean) Flag indicating whether the Hardware Reservation is a spare. Spare Hardware Reservations are used when a Hardware Reservations requires service from Metal Equinix
+- `switch_uuid` (String) Switch short ID, can be used to determine if two devices are connected to the same switch
diff --git a/docs/data-sources/metal_ip_block_ranges.md b/docs/data-sources/metal_ip_block_ranges.md
index 9092806ce..4b178bd1d 100644
--- a/docs/data-sources/metal_ip_block_ranges.md
+++ b/docs/data-sources/metal_ip_block_ranges.md
@@ -1,47 +1,33 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_ip_block_ranges Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_ip_block_ranges (Data Source)
-Use this datasource to get CIDR expressions for allocated IP blocks of all the types in a project, optionally filtered by facility or metro.
-There are four types of IP blocks in Equinix: equinix_metal_global IPv4, public IPv4, private IPv4 and IPv6. Both global and public IPv4 are routable from the Internet. Public IPv4 blocks are allocated in a facility or metro, and addresses from it can only be assigned to devices in that location. Addresses from Global IPv4 block can be assigned to a device in any metro.
-The datasource has 4 list attributes: `global_ipv4`, `public_ipv4`, `private_ipv4` and `ipv6`, each listing CIDR notation (`/`) of respective blocks from the project.
-## Example Usage
-```terraform
-# List CIDR expressions of all the allocated IP block in you project.
+
+## Schema
-# Declare your project ID
-locals {
- project_id = ""
-}
+### Required
-data "equinix_metal_ip_block_ranges" "test" {
- project_id = local.project_id
-}
+- `project_id` (String) ID of the project from which to list the blocks
-output "out" {
- value = data.equinix_metal_ip_block_ranges.test
-}
-```
+### Optional
-## Argument Reference
+- `facility` (String, Deprecated) Facility code filtering the IP blocks. Global IPv4 blocks will be listed anyway. If you omit this and metro, all the block from the project will be listed
+- `metro` (String) Metro code filtering the IP blocks. Global IPv4 blocks will be listed anyway. If you omit this and facility, all the block from the project will be listed
-The following arguments are supported:
+### Read-Only
-* `project_id` - (Required) ID of the project from which to list the blocks.
-* `facility` - (**Deprecated**) Facility code filtering the IP blocks. Global IPv4 blocks will be listed anyway. If you omit this and metro, all the block from the project will be listed. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `metro` - (Optional) Metro code filtering the IP blocks. Global IPv4 blocks will be listed anyway. If you omit this and facility, all the block from the project will be listed.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `global_ipv4` - list of CIDR expressions for Global IPv4 blocks in the project.
-* `public_ipv4` - list of CIDR expressions for Public IPv4 blocks in the project.
-* `private_ipv4` - list of CIDR expressions for Private IPv4 blocks in the project.
-* `ipv6` - list of CIDR expressions for IPv6 blocks in the project.
+- `global_ipv4` (List of String) List of CIDR expressions for Global IPv4 blocks in the project
+- `id` (String) The ID of this resource.
+- `ipv6` (List of String) List of CIDR expressions for IPv6 blocks in the project
+- `private_ipv4` (List of String) List of CIDR expressions for Private IPv4 blocks in the project
+- `public_ipv4` (List of String) List of CIDR expressions for Public IPv4 blocks in the project
diff --git a/docs/data-sources/metal_metro.md b/docs/data-sources/metal_metro.md
index 74274bfcb..0342043b5 100644
--- a/docs/data-sources/metal_metro.md
+++ b/docs/data-sources/metal_metro.md
@@ -1,57 +1,41 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_metro Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_metro (Data Source)
-Provides an Equinix Metal metro datasource.
-## Example Usage
-```terraform
-# Fetch a metro by code and show its ID
-data "equinix_metal_metro" "sv" {
- code = "sv"
-}
-output "id" {
- value = data.equinix_metal_metro.sv.id
-}
-```
+
+## Schema
-```terraform
-# Verify that metro "sv" has capacity for provisioning 2 c3.small.x86
- devices and 1 c3.medium.x86 device
+### Required
-data "equinix_metal_metro" "test" {
- code = "sv"
+- `code` (String) The code of the Metro to match
- capacity {
- plan = "c3.small.x86"
- quantity = 2
- }
+### Optional
- capacity {
- plan = "c3.medium.x86"
- quantity = 1
- }
-}
-```
+- `capacity` (Block List) Optional list of capacity specifications by plan (see [below for nested schema](#nestedblock--capacity))
-## Argument Reference
+### Read-Only
-The following arguments are supported:
+- `country` (String) The country of this Metro
+- `id` (String) The ID of this Metro
+- `name` (String) The name of this Metro
-* `code` - (Required) The metro code to search for.
-* `capacity` - (Optional) One or more device plans for which the metro must have capacity.
- * `plan` - (Required) Device plan that must be available in selected location.
- * `quantity` - (Optional) Minimum number of devices that must be available in selected location. Default is `1`.
+
+### Nested Schema for `capacity`
-## Attributes Reference
+Required:
-In addition to all arguments above, the following attributes are exported:
+- `plan` (String) Plan which has to be available in selected location
-* `id` - The ID of the metro.
-* `name` - The name of the metro.
-* `country` - The country of the metro.
+Optional:
+
+- `quantity` (Number)
diff --git a/docs/data-sources/metal_operating_system.md b/docs/data-sources/metal_operating_system.md
index a6e60ef2e..cc7e44563 100644
--- a/docs/data-sources/metal_operating_system.md
+++ b/docs/data-sources/metal_operating_system.md
@@ -1,42 +1,28 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_operating_system Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_operating_system (Data Source)
-Use this data source to get Equinix Metal Operating System image.
-## Example Usage
-```terraform
-data "equinix_metal_operating_system" "example" {
- distro = "ubuntu"
- version = "20.04"
- provisionable_on = "c3.medium.x86"
-}
-resource "equinix_metal_device" "server" {
- hostname = "tf.ubuntu"
- plan = "c3.medium.x86"
- metro = "ny"
- operating_system = data.equinix_metal_operating_system.example.id
- billing_cycle = "hourly"
- project_id = local.project_id
-}
-```
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Optional
-* `distro` - (Optional) Name of the OS distribution.
-* `name` - (Optional) Name or part of the name of the distribution. Case insensitive.
-* `provisionable_on` - (Optional) Plan name.
-* `version` - (Optional) Version of the distribution.
+- `distro` (String) Name of the OS distribution
+- `name` (String) Name or part of the name of the distribution. Case insensitive
+- `provisionable_on` (String) Plan name
+- `version` (String) Version of the distribution
-## Attributes Reference
+### Read-Only
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - Operating system slug.
-* `slug` - Operating system slug (same as `id`).
+- `id` (String) The ID of this resource.
+- `slug` (String) Operating system slug (same as id)
diff --git a/docs/data-sources/metal_organization.md b/docs/data-sources/metal_organization.md
index 3040ecd57..6b66f084c 100644
--- a/docs/data-sources/metal_organization.md
+++ b/docs/data-sources/metal_organization.md
@@ -1,45 +1,42 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_organization Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_organization (Data Source)
-Provides an Equinix Metal organization datasource.
-## Example Usage
-```terraform
-# Fetch a organization data and show projects which belong to it
-data "equinix_metal_organization" "test" {
- organization_id = local.org_id
-}
-output "projects_in_the_org" {
- value = data.equinix_metal_organization.test.project_ids
-}
-```
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Optional
-* `name` - (Optional) The organization name.
-* `organization_id` - (Optional) The UUID of the organization resource.
+- `description` (String) Description string
+- `name` (String) The name of the Organization
+- `organization_id` (String) The UUID of the organization resource
-Exactly one of `name` or `organization_id` must be given.
+### Read-Only
-## Attributes Reference
+- `address` (List of Object) Business' address (see [below for nested schema](#nestedatt--address))
+- `id` (String) The unique identifier of the resource
+- `logo` (String) Logo URL
+- `project_ids` (List of String) UUIDs of project resources which belong to this organization
+- `twitter` (String) Twitter handle
+- `website` (String) Website link
-In addition to all arguments above, the following attributes are exported:
+
+### Nested Schema for `address`
-* `project_ids` - UUIDs of project resources which belong to this organization.
-* `description` - Description string.
-* `website` - Website link.
-* `twitter` - Twitter handle.
-* `logo` - Logo URL.
-* `address` - Address information
- * `address` - Postal address.
- * `city` - City name.
- * `country` - Two letter country code (ISO 3166-1 alpha-2), e.g. US.
- * `zip_code` - Zip Code.
- * `state` - State name.
+Read-Only:
+
+- `address` (String)
+- `city` (String)
+- `country` (String)
+- `state` (String)
+- `zip_code` (String)
diff --git a/docs/data-sources/metal_plans.md b/docs/data-sources/metal_plans.md
index 686569f9b..929d3a7d3 100644
--- a/docs/data-sources/metal_plans.md
+++ b/docs/data-sources/metal_plans.md
@@ -1,163 +1,70 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_plans Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
-# equinix_metal_plans
-
-Provides an Equinix Metal plans datasource. This can be used to find plans that meet a filter criteria.
-
-## Example Usage
-
-```terraform
-# Following example will select device plans which are under 2.5$ per hour, are available in metro 'da' (Dallas)
-# OR 'sv' (Sillicon Valley) and sort it by the hourly price ascending.
-data "equinix_metal_plans" "example" {
- sort {
- attribute = "pricing_hour"
- direction = "asc"
- }
- filter {
- attribute = "pricing_hour"
- values = [2.5]
- match_by = "less_than"
- }
- filter {
- attribute = "available_in_metros"
- values = ["da", "sv"]
- }
-}
-
-output "plans" {
- value = data.equinix_metal_plans.example.plans
-}
-```
-
-```terraform
-# Following example will select device plans with class containing string 'large', are available in metro 'da' (Dallas)
-# AND 'sv' (Sillicon Valley), are elegible for spot_market deployments.
-data "equinix_metal_plans" "example" {
- filter {
- attribute = "class"
- values = ["large"]
- match_by = "substring"
- }
- filter {
- attribute = "deployment_types"
- values = ["spot_market"]
- }
- filter {
- attribute = "available_in_metros"
- values = ["da", "sv"]
- all = true
- }
-}
-
-output "plans" {
- value = data.equinix_metal_plans.example.plans
-}
-```
-
-### Ignoring Changes to Plans/Metro
-
-Preserve deployed device plan, facility and metro when creating a new execution plan.
-
-As described in the [`data-resource-behavior`](https://www.terraform.io/language/data-sources#data-resource-behavior), terraform reads data resources during the planning phase in both the terraform plan and terraform apply commands. If the output from the data source is different to the prior state, it will propose changes to resources where there is a reference to their attributes.
-
-For `equinix_metal_plans`, it may happen that a device plan is no longer available in a metro because there is no stock at that time or you were using a legacy server plan, and thus the returned list of plans matching your search criteria will be different from last `plan`/`apply`. Therefore, if a resource such as a `equinix_metal_device` uses the output of this data source to select a device plan or metro, the Terraform plan will report that the `equinix_metal_device` needs to be recreated.
-
-To prevent that you can take advantage of the Terraform [`lifecycle ignore_changes`](https://www.terraform.io/language/meta-arguments/lifecycle#ignore_changes) feature as shown in the example below.
-
-```terraform
-# Following example will use equinix_metal_plans to select the cheapest plan available in metro 'sv' (Sillicon Valley)
-data "equinix_metal_plans" "example" {
- sort {
- attribute = "pricing_hour"
- direction = "asc"
- }
- filter {
- attribute = "name"
- values = ["c3.small.x86", "c3.medium.x86", "m3.large.x86"]
- }
- filter {
- attribute = "available_in_metros"
- values = ["sv"]
- }
-}
-
-# This equinix_metal_device will use the first returned plan and the first metro in which that plan is available
-# It will ignore future changes on plan and metro
-resource "equinix_metal_device" "example" {
- hostname = "example"
- plan = data.equinix_metal_plans.example.plans[0].name
- metro = data.equinix_metal_plans.example.plans[0].available_in_metros[0]
- operating_system = "ubuntu_20_04"
- billing_cycle = "hourly"
- project_id = var.project_id
-
- lifecycle {
- ignore_changes = [
- plan,
- metro,
- ]
- }
-}
-```
-
-If your use case requires dynamic changes of a device plan or metro you can define the lifecycle with a condition.
-
-```terraform
-# Following example uses a boolean variable that may eventually be set to you false when you update your equinix_metal_plans filter criteria because you need a device plan with a new feature.
-variable "ignore_plans_metros_changes" {
- type = bool
- description = "If set to true, it will ignore plans or metros changes"
- default = false
-}
-
-data "equinix_metal_plans" "example" {
- // new search criteria
-}
-
-resource "equinix_metal_device" "example" {
- // required device arguments
-
- lifecycle {
- ignore_changes = var.ignore_plans_metros_changes ? [
- plan,
- metro,
- ] : []
- }
-}
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `sort` - (Optional) One or more attribute/direction pairs on which to sort results. If multiple sorts are provided, they will be applied in order
- - `attribute` - (Required) The attribute used to sort the results. Sort attributes are case-sensitive
- - `direction` - (Optional) Sort results in ascending or descending order. Strings are sorted in alphabetical order. One of: asc, desc
-* `filter` - (Optional) One or more attribute/values pairs to filter off of
- - `attribute` - (Required) The attribute used to filter. Filter attributes are case-sensitive
- - `values` - (Required) The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR by default, and the request returns all results that match any of the specified values
- - `match_by` - (Optional) The type of comparison to apply. One of: `in` , `re`, `substring`, `less_than`, `less_than_or_equal`, `greater_than`, `greater_than_or_equal`. Default is `in`.
- - `all` - (Optional) If is set to true, the values are joined with an AND, and the requests returns only the results that match all specified values. Default is `false`.
-
-All fields in the `plans` block defined below can be used as attribute for both `sort` and `filter` blocks.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `plans`
- - `id` - id of the plan
- - `name` - name of the plan
- - `slug`- plan slug
- - `description`- description of the plan
- - `line`- plan line, e.g. baremetal
- - `legacy`- flag showing if it's a legacy plan
- - `class`- plan class
- - `pricing_hour`- plan hourly price
- - `pricing_month`- plan monthly price
- - `deployment_types`- list of deployment types, e.g. on_demand, spot_market
- - `available_in`- (**Deprecated**) list of facilities where the plan is available
- - `available_in_metros`- list of metros where the plan is available
+# equinix_metal_plans (Data Source)
+
+
+
+
+
+
+## Schema
+
+### Optional
+
+- `filter` (Block Set) One or more attribute/values pairs on which to filter results (see [below for nested schema](#nestedblock--filter))
+- `sort` (Block List) One or more attribute/direction pairs on which to sort results. If multiple sorts are provided, they will be applied in order (see [below for nested schema](#nestedblock--sort))
+
+### Read-Only
+
+- `id` (String) The ID of this resource.
+- `plans` (List of Object) Sorted list of available server plans that match the specified filters (see [below for nested schema](#nestedatt--plans))
+
+
+### Nested Schema for `filter`
+
+Required:
+
+- `attribute` (String) The attribute used to filter. Filter attributes are case-sensitive
+- `values` (List of String) The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR by default, and the request returns all results that match any of the specified values
+
+Optional:
+
+- `all` (Boolean) If is set to true, the values are joined with an AND, and the requests returns only the results that match all specified values
+- `match_by` (String) The type of comparison to apply. One of: in (default), re, substring, less_than, less_than_or_equal, greater_than, greater_than_or_equal
+
+
+
+### Nested Schema for `sort`
+
+Required:
+
+- `attribute` (String) The attribute used to sort the results. Sort attributes are case-sensitive
+
+Optional:
+
+- `direction` (String) Sort results in ascending or descending order. Strings are sorted in alphabetical order. One of: asc, desc
+
+
+
+### Nested Schema for `plans`
+
+Read-Only:
+
+- `available_in` (Set of String)
+- `available_in_metros` (Set of String)
+- `class` (String)
+- `deployment_types` (Set of String)
+- `description` (String)
+- `id` (String)
+- `legacy` (Boolean)
+- `line` (String)
+- `name` (String)
+- `pricing_hour` (Number)
+- `pricing_month` (Number)
+- `slug` (String)
diff --git a/docs/data-sources/metal_port.md b/docs/data-sources/metal_port.md
index 361c186fc..a5b4ce853 100644
--- a/docs/data-sources/metal_port.md
+++ b/docs/data-sources/metal_port.md
@@ -1,54 +1,37 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_port Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_port (Data Source)
-Use this data source to read ports of existing devices. You can read port by either its UUID, or by a device UUID and port name.
-## Example Usage
-Create a device and read it's eth0 port to the datasource.
-```terraform
-locals {
- project_id = ""
-}
-resource "equinix_metal_device" "test" {
- hostname = "tfacc-test-device-port"
- plan = "c3.medium.x86"
- metro = "sv"
- operating_system = "ubuntu_20_04"
- billing_cycle = "hourly"
- project_id = local.project_id
-}
+
+## Schema
-data "equinix_metal_port" "test" {
- device_id = equinix_metal_device.test.id
- name = "eth0"
-}
-```
+### Optional
-## Argument Reference
+- `device_id` (String) Device UUID where to lookup the port
+- `name` (String) Name of the port to look up, e.g. bond0, eth1
+- `port_id` (String) UUID of the port to lookup
-The following arguments are supported:
+### Read-Only
-* `port_id` - (Optional) ID of the port to read, conflicts with `device_id`.
-* `device_id` - (Optional) Device UUID where to lookup the port.
-* `name` - (Optional) Name of the port to look up, i.e. `bond0`, `eth1`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `network_type` - One of `layer2-bonded`, `layer2-individual`, `layer3`, `hybrid`, `hybrid-bonded`.
-* `type` - Type is either `NetworkBondPort` for bond ports or `NetworkPort` for bondable ethernet ports.
-* `mac` - MAC address of the port.
-* `bond_id` - UUID of the bond port.
-* `bond_name` - Name of the bond port.
-* `bonded` - Flag indicating whether the port is bonded.
-* `disbond_supported` - Flag indicating whether the port can be removed from a bond.
-* `native_vlan_id` - UUID of native VLAN of the port.
-* `vlan_ids` - UUIDs of attached VLANs.
-* `vxlan_ids` - VXLAN ids of attached VLANs.
+- `bond_id` (String) UUID of the bond port
+- `bond_name` (String) Name of the bond port
+- `bonded` (Boolean) Flag indicating whether the port is bonded
+- `disbond_supported` (Boolean) Flag indicating whether the port can be removed from a bond
+- `id` (String) The ID of this resource.
+- `layer2` (Boolean) Flag indicating whether the port is in layer2 (or layer3) mode
+- `mac` (String) MAC address of the port
+- `native_vlan_id` (String) UUID of native VLAN of the port
+- `network_type` (String) One of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded
+- `type` (String) Port type
+- `vlan_ids` (List of String) UUIDs of attached VLANs
+- `vxlan_ids` (List of Number) UUIDs of attached VLANs
diff --git a/docs/data-sources/metal_precreated_ip_block.md b/docs/data-sources/metal_precreated_ip_block.md
index 4fb5a0152..ccb0826ea 100644
--- a/docs/data-sources/metal_precreated_ip_block.md
+++ b/docs/data-sources/metal_precreated_ip_block.md
@@ -1,67 +1,43 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_precreated_ip_block Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_precreated_ip_block (Data Source)
-Use this data source to get CIDR expression for precreated (management) IPv6 and IPv4 blocks in Equinix Metal. You can then use the cidrsubnet TF builtin function to derive subnets.
-~> For backward compatibility, this data source will also return reserved (elastic) IP blocks.
--> Precreated (management) IP blocks for a metro will not be available until first device is created in that metro.
--> Public IPv4 blocks auto-assigned (management) to a device cannot be retrieved. If you need that information, consider using the [equinix_metal_device](equinix_metal_device.md) data source instead.
-## Example Usage
+
+## Schema
-```terraform
-# Create device in your project and then assign /64 subnet from precreated block
-# to the new device
+### Required
-# Declare your project ID
-locals {
- project_id = ""
-}
+- `address_family` (Number) 4 or 6, depending on which block you are looking for.
+- `project_id` (String) ID of the project where the searched block should be.
+- `public` (Boolean) Whether to look for public or private block.
-resource "equinix_metal_device" "web1" {
- hostname = "web1"
- plan = "c3.small.x86"
- metro = "sv"
- operating_system = "ubuntu_20_04"
- billing_cycle = "hourly"
- project_id = local.project_id
+### Optional
-}
+- `facility` (String) Facility of the searched block. (for non-global blocks).
+- `global` (Boolean) Whether to look for global block. Default is false for backward compatibility.
+- `metro` (String) Metro of the searched block (for non-global blocks).
-data "equinix_metal_precreated_ip_block" "test" {
- metro = "sv"
- project_id = local.project_id
- address_family = 6
- public = true
-}
+### Read-Only
-# The precreated IPv6 blocks are /56, so to get /64, we specify 8 more bits for network.
-# The cirdsubnet interpolation will pick second /64 subnet from the precreated block.
-
-resource "equinix_metal_ip_attachment" "from_ipv6_block" {
- device_id = equinix_metal_device.web1.id
- cidr_notation = cidrsubnet(data.equinix_metal_precreated_ip_block.test.cidr_notation, 8, 2)
-}
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `project_id` - (Required) ID of the project where the searched block should be.
-* `address_family` - (Required) 4 or 6, depending on which block you are looking for.
-* `public` - (Required) Whether to look for public or private block.
-* `global` - (Optional) Whether to look for global block. Default is false for backward compatibility.
-* `facility` - (**Deprecated**) Facility of the searched block. (for non-global blocks). Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `metro` - (Optional) Metro of the searched block (for non-global blocks).
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `cidr_notation` - CIDR notation of the looked up block.
+- `address` (String)
+- `cidr` (Number) Length of CIDR prefix of the block as integer
+- `cidr_notation` (String) CIDR notation of the looked up block.
+- `gateway` (String)
+- `id` (String) The ID of this resource.
+- `manageable` (Boolean)
+- `management` (Boolean)
+- `netmask` (String) Mask in decimal notation, e.g. 255.255.255.0
+- `network` (String) Network IP address portion of the block specification
+- `quantity` (Number)
+- `type` (String)
+- `vrf_id` (String)
diff --git a/docs/data-sources/metal_project.md b/docs/data-sources/metal_project.md
index c9aeb54d4..637854b5d 100644
--- a/docs/data-sources/metal_project.md
+++ b/docs/data-sources/metal_project.md
@@ -1,47 +1,43 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_project Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_project (Data Source)
-Use this datasource to retrieve attributes of the Project API resource.
-## Example Usage
-```terraform
-# Get Project by name and print UUIDs of its users
-data "equinix_metal_project" "tf_project_1" {
- name = "Terraform Fun"
-}
-output "users_of_Terraform_Fun" {
- value = data.equinix_metal_project.tf_project_1.user_ids
-}
-```
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Optional
-* `name` - (Optional) The name which is used to look up the project.
-* `project_id` - (Optional) The UUID by which to look up the project.
+- `name` (String) Name of the connection resource
+- `project_id` (String) ID of project to which the connection belongs
-## Attributes Reference
+### Read-Only
-In addition to all arguments above, the following attributes are exported:
+- `backend_transfer` (Boolean) Whether Backend Transfer is enabled for this project
+- `bgp_config` (List of Object) Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-global-bgp/) (see [below for nested schema](#nestedatt--bgp_config))
+- `created` (String) The timestamp for when the project was created
+- `id` (String) The unique identifier of the resource
+- `organization_id` (String) The UUID of this project's parent organization
+- `payment_method_id` (String) The UUID of payment method for this project
+- `updated` (String) The timestamp for the last time the project was updated
+- `user_ids` (List of String) List of UUIDs of user accounts which belong to this project
-* `payment_method_id` - The UUID of payment method for this project.
-* `organization_id` - The UUID of this project's parent organization.
-* `backend_transfer` - Whether Backend Transfer is enabled for this project.
-* `created` - The timestamp for when the project was created.
-* `updated` - The timestamp for the last time the project was updated.
-* `user_ids` - List of UUIDs of user accounts which belong to this project.
-* `bgp_config` - Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-global-bgp/).
+
+### Nested Schema for `bgp_config`
-The `bgp_config` block contains:
+Read-Only:
-* `asn` - Autonomous System Number for local BGP deployment.
-* `md5` - Password for BGP session in plaintext (not a checksum).
-* `deployment_type` - One of `private`, `public`.
-* `status` - Status of BGP configuration in the project.
-* `max_prefix` - The maximum number of route filters allowed per server.
+- `asn` (Number)
+- `deployment_type` (String)
+- `max_prefix` (Number)
+- `md5` (String)
+- `status` (String)
diff --git a/docs/data-sources/metal_project_ssh_key.md b/docs/data-sources/metal_project_ssh_key.md
index f2dfe86ff..5f04d141b 100644
--- a/docs/data-sources/metal_project_ssh_key.md
+++ b/docs/data-sources/metal_project_ssh_key.md
@@ -1,40 +1,34 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_project_ssh_key Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_project_ssh_key (Data Source)
-Use this datasource to retrieve attributes of a Project SSH Key API resource.
-## Example Usage
-```terraform
-# Get Project SSH Key by name
-data "equinix_metal_project_ssh_key" "my_key" {
- search = "username@hostname"
- project_id = local.project_id
-}
-```
-## Argument Reference
-The following arguments are supported:
+
+## Schema
-* `search` - (Optional) The name, fingerprint, or public_key of the SSH Key to search for in the Equinix Metal project.
-* `id` - (Optional) The id of the SSH Key to search for in the Equinix Metal project.
-* `project_id` - (Optional) The Equinix Metal project id of the Equinix Metal SSH Key.
+### Required
--> **NOTE:** One of either `search` or `id` must be provided along with `project_id`.
+- `project_id` (String) The ID of parent project
-## Attributes Reference
+### Optional
-In addition to all arguments above, the following attributes are exported:
+- `id` (String) The id of the SSH Key
+- `search` (String) The name, fingerprint, id, or public_key of the SSH Key to search for in the Equinix Metal project
-* `id` - The unique ID of the key.
-* `name` - The name of the SSH key.
-* `public_key` - The text of the public key.
-* `project_id` - The ID of parent project.
-* `owner_id` - The ID of parent project (same as project_id).
-* `fingerprint` - The fingerprint of the SSH key.
-* `created` - The timestamp for when the SSH key was created.
-* `updated` - The timestamp for the last time the SSH key was updated.
+### Read-Only
+
+- `created` (String) The timestamp for when the SSH key was created
+- `fingerprint` (String) The fingerprint of the SSH key
+- `name` (String) The label of the Equinix Metal SSH Key
+- `owner_id` (String) The UUID of the Equinix Metal API User who owns this key
+- `public_key` (String) The public key
+- `updated` (String) The timestamp for the last time the SSH key was updated
diff --git a/docs/data-sources/metal_reserved_ip_block.md b/docs/data-sources/metal_reserved_ip_block.md
index 99d9829a7..80583a16b 100644
--- a/docs/data-sources/metal_reserved_ip_block.md
+++ b/docs/data-sources/metal_reserved_ip_block.md
@@ -1,51 +1,41 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_reserved_ip_block Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_reserved_ip_block (Data Source)
-Use this data source to find IP address blocks in Equinix Metal. You can use IP address or a block ID for lookup.
-~> For backward compatibility, this data source can be also used for precreated (management) IP blocks.
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-## Example Usage
-Look up an IP address for a domain name, then use the IP to look up the containing IP block and run a device with IP address from the block:
+
+## Schema
-```terraform
-data "dns_a_record_set" "www" {
- host = "www.example.com"
-}
+### Optional
-data "equinix_metal_reserved_ip_block" "www" {
- project_id = local.my_project_id
- address = data.dns_a_record_set.www.addrs[0]
-}
+- `id` (String) ID of the block to look up
+- `ip_address` (String) Find block containing this IP address in given project
+- `project_id` (String) ID of the project where the searched block should be
-resource "equinix_metal_device" "www" {
- project_id = local.my_project_id
- [...]
- ip_address {
- type = "public_ipv4"
- reservation_ids = [data.equinix_metal_reserved_ip_block.www.id]
- }
-}
-```
+### Read-Only
-## Argument Reference
-
-The following arguments are supported:
-
-* `id` - (Optional) UUID of the IP address block to look up.
-* `project_id` - (Optional) UUID of the project where the searched block should be.
-* `ip_address` - (Optional) Block containing this IP address will be returned.
-
--> **NOTE:** You should pass either `id`, or both `project_id` and `ip_address`.
-
-## Attributes Reference
-
-This datasource exposes the same attributes as the [equinix_metal_reserved_ip_block](../resources/equinix_metal_reserved_ip_block.md) resource, with the following differences:
-
-* `type` - One of `global_ipv4`, `public_ipv4`, `private_ipv4`, `public_ipv6`,or `vrf`
+- `address` (String)
+- `address_family` (Number) 4 or 6
+- `cidr` (Number) Length of CIDR prefix of the block as integer
+- `cidr_notation` (String) CIDR notation of the looked up block
+- `facility` (String, Deprecated) Facility of the block. (for non-global blocks)
+- `gateway` (String) IP address of gateway for the block
+- `global` (Boolean) Addresses from block are attachable in all locations
+- `manageable` (Boolean)
+- `management` (Boolean)
+- `metro` (String) Metro of the block (for non-global blocks)
+- `netmask` (String) Mask in decimal notation, e.g. 255.255.255.0
+- `network` (String) Network IP address portion of the block specification
+- `public` (Boolean) Addresses from public block are routeable from the Internet
+- `quantity` (Number)
+- `type` (String) Address type, one of public_ipv4, public_ipv6, private_ipv4, global_ipv4, and vrf
+- `vrf_id` (Number) VRF ID of the block when type=vrf
diff --git a/docs/data-sources/metal_spot_market_price.md b/docs/data-sources/metal_spot_market_price.md
index cc0bd5b28..752434042 100644
--- a/docs/data-sources/metal_spot_market_price.md
+++ b/docs/data-sources/metal_spot_market_price.md
@@ -1,32 +1,30 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_spot_market_price Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
-# equinix_metal_operating_system (Data Source)
+# equinix_metal_spot_market_price (Data Source)
-Use this data source to get Equinix Metal Spot Market Price for a plan.
-## Example Usage
-Lookup by metro:
-```terraform
-data "equinix_metal_spot_market_price" "example" {
- metro = "sv"
- plan = "c3.small.x86"
-}
-```
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Required
-* `plan` - (Required) Name of the plan.
-* `facility` - (**Deprecated**) Name of the facility. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `metro` - (Optional) Name of the metro.
+- `plan` (String) Name of the plan
-## Attributes Reference
+### Optional
-In addition to all arguments above, the following attributes are exported:
+- `facility` (String, Deprecated) Name of the facility
+- `metro` (String) Name of the metro
-* `price` - Current spot market price for given plan in given facility.
+### Read-Only
+
+- `id` (String) The ID of this resource.
+- `price` (Number) Current spot market price for given plan in given facility
diff --git a/docs/data-sources/metal_spot_market_request.md b/docs/data-sources/metal_spot_market_request.md
index b0a0d7ba6..415ba157a 100644
--- a/docs/data-sources/metal_spot_market_request.md
+++ b/docs/data-sources/metal_spot_market_request.md
@@ -1,85 +1,47 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_spot_market_request Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_spot_market_request (Data Source)
-Provides an Equinix Metal spot_market_request datasource. The datasource will contain list of device IDs created by referenced Spot Market Request.
-## Example Usage
-```terraform
-# Create a Spot Market Request, and print public IPv4 of the created devices, if any.
-resource "equinix_metal_spot_market_request" "req" {
- project_id = local.project_id
- max_bid_price = 0.1
- metro = "ny"
- devices_min = 2
- devices_max = 2
- wait_for_devices = true
- instance_parameters {
- hostname = "testspot"
- billing_cycle = "hourly"
- operating_system = "ubuntu_20_04"
- plan = "c3.small.x86"
- }
-}
+
+## Schema
-data "equinix_metal_spot_market_request" "dreq" {
- request_id = equinix_metal_spot_market_request.req.id
-}
+### Required
-output "ids" {
- value = data.equinix_metal_spot_market_request.dreq.device_ids
-}
+- `request_id` (String) The id of the Spot Market Request
-data "equinix_metal_device" "devs" {
- count = length(data.equinix_metal_spot_market_request.dreq.device_ids)
- device_id = data.equinix_metal_spot_market_request.dreq.device_ids[count.index]
-}
+### Optional
-output "ips" {
- value = [for d in data.equinix_metal_device.devs : d.access_public_ipv4]
-}
-```
+- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
-With the code as `main.tf`, first create the spot market request:
+### Read-Only
-```shell
-terraform apply -target equinix_metal_spot_market_request.req
-```
+- `device_ids` (List of String) List of IDs of devices spawned by the referenced Spot Market Request
+- `devices_max` (Number) Maximum number devices to be created
+- `devices_min` (Number) Miniumum number devices to be created
+- `end_at` (String) Date and time When the spot market request will be ended.
+- `facilities` (List of String, Deprecated) Facility IDs where devices should be created
+- `id` (String) The ID of this resource.
+- `max_bid_price` (Number) Maximum price user is willing to pay per hour per device
+- `metro` (String) Metro where devices should be created.
+- `plan` (String) The device plan slug.
+- `project_id` (String) Project ID
-When the terraform run ends, run a full apply, and the IPv4 addresses will be printed:
+
+### Nested Schema for `timeouts`
-```shell
-$ terraform apply
+Optional:
-[...]
-
-ips = [
- "947.85.199.231",
- "947.85.194.181",
-]
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `request_id` - (Required) The id of the Spot Market Request.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `device_ids` - List of IDs of devices spawned by the referenced Spot Market Request.
-* `devices_min` - Miniumum number devices to be created.
-* `devices_max` - Maximum number devices to be created.
-* `max_bid_price` - Maximum price user is willing to pay per hour per device.
-* `facilities` - (**Deprecated**) Facility IDs where devices should be created. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `metro` - Metro where devices should be created.
-* `project_id` - Project ID.
-* `plan` - The device plan slug.
-* `end_at` - Date and time When the spot market request will be ended.
+- `create` (String)
+- `default` (String)
+- `delete` (String)
+- `update` (String)
diff --git a/docs/data-sources/metal_virtual_circuit.md b/docs/data-sources/metal_virtual_circuit.md
index 553297c54..b6c22cbc3 100644
--- a/docs/data-sources/metal_virtual_circuit.md
+++ b/docs/data-sources/metal_virtual_circuit.md
@@ -1,49 +1,44 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_virtual_circuit Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_virtual_circuit (Data Source)
-Use this data source to retrieve a virtual circuit resource from [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/)
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-## Example Usage
-```terraform
-data "equinix_metal_connection" "example_connection" {
- connection_id = "4347e805-eb46-4699-9eb9-5c116e6a017d"
-}
-data "equinix_metal_virtual_circuit" "example_vc" {
- virtual_circuit_id = data.equinix_metal_connection.example_connection.ports[1].virtual_circuit_ids[0]
-}
-```
+
+## Schema
-## Argument Reference
+### Required
-The following arguments are supported:
+- `virtual_circuit_id` (String) ID of the virtual circuit to lookup
-* `virtual_circuit_id` - (Required) ID of the virtual circuit resource
+### Read-Only
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `name` - Name of the virtual circuit resource.
-* `connection_id` - UUID of Connection where the VC is scoped to.
-* `status` - Status of the virtal circuit.
-* `port_id` - UUID of the Connection Port where the VC is scoped to.
-* `project_id` - ID of project to which the VC belongs.
-* `vnid`, `nni_vlan`, `nni_nvid` - VLAN parameters, see the [documentation for Equinix Fabric](https://metal.equinix.com/developers/docs/networking/fabric/).
-* `description` - Description for the Virtual Circuit resource.
-* `tags` - Tags for the Virtual Circuit resource.
-* `speed` - Speed of the Virtual Circuit resource.
-* `vrf_id` - UUID of the VLAN to associate.
-* `peer_asn` - The BGP ASN of the peer. The same ASN may be the used across several VCs, but it cannot be the same as the local_asn of the VRF.
-* `subnet` - A subnet from one of the IP blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /30 or /31.
- * For a /31 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
- * For a /30 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
-* `metal_ip` - The Metal IP address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the subnet.
-* `customer_ip` - The Customer IP address which the CSR switch will peer with. Will default to the other usable IP in the subnet.
-* `md5` - The password that can be set for the VRF BGP peer
+- `connection_id` (String) UUID of Connection where the VC is scoped to
+- `customer_ip` (String) The Customer IP address which the CSR switch will peer with. Will default to the other usable IP in the subnet.
+- `description` (String) Description of the virtual circuit
+- `id` (String) The ID of this resource.
+- `md5` (String, Sensitive) The password that can be set for the VRF BGP peer
+- `metal_ip` (String) The Metal IP address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the subnet.
+- `name` (String) Name of the virtual circuit
+- `nni_vlan` (Number) Nni VLAN parameter, see https://metal.equinix.com/developers/docs/networking/fabric/
+- `nni_vnid` (Number) Nni VLAN ID parameter, see https://metal.equinix.com/developers/docs/networking/fabric/
+- `peer_asn` (Number) The BGP ASN of the peer. The same ASN may be the used across several VCs, but it cannot be the same as the local_asn of the VRF.
+- `port_id` (String) UUID of the Connection Port where the VC is scoped to
+- `project_id` (String) ID of the projct to which the virtual circuit belongs
+- `speed` (String) Description of the Virtual Circuit speed. This is for information purposes and is computed when the connection type is shared.
+- `status` (String) Status of the virtual circuit
+- `subnet` (String) A subnet from one of the IP blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /30 or /31.
+ * For a /31 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
+ * For a /30 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
+- `tags` (List of String) Tags attached to the virtual circuit
+- `vlan_id` (String) UUID of the associated VLAN
+- `vnid` (Number) VNID VLAN parameter, see https://metal.equinix.com/developers/docs/networking/fabric/
+- `vrf_id` (String) UUID of the associated VRF
diff --git a/docs/data-sources/metal_vlan.md b/docs/data-sources/metal_vlan.md
index ce6557a79..870004f5c 100644
--- a/docs/data-sources/metal_vlan.md
+++ b/docs/data-sources/metal_vlan.md
@@ -1,52 +1,30 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_vlan Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_vlan (Data Source)
-Provides an Equinix Metal Virtual Network datasource. VLANs data sources can be searched by VLAN UUID, or project UUID and vxlan number.
-## Example Usage
-Fetch a vlan by ID:
-```terraform
-resource "equinix_metal_vlan" "foovlan" {
- project_id = local.project_id
- metro = "sv"
- vxlan = 5
-}
-data "equinix_metal_vlan" "dsvlan" {
- vlan_id = equinix_metal_vlan.foovlan.id
-}
-```
+
+## Schema
-Fetch a vlan by project ID, vxlan and metro
+### Optional
-```terraform
-data "equinix_metal_vlan" "dsvlan" {
- project_id = local.project_id
- vxlan = 5
- metro = "sv"
-}
-```
+- `facility` (String, Deprecated) Facility where the VLAN is deployed
+- `metro` (String) Metro where the VLAN is deployed
+- `project_id` (String) ID of parent project of the VLAN. Use together with vxlan and metro or facility
+- `vlan_id` (String) Metal UUID of the VLAN resource
+- `vxlan` (Number) VXLAN numner of the VLAN. Unique in a project and facility or metro. Use with project_id
-## Argument Reference
+### Read-Only
-The following arguments are supported:
-
-* `vlan_id` - (Optional) Metal UUID of the VLAN resource to look up.
-* `project_id` - (Optional) UUID of parent project of the VLAN. Use together with the vxlan number and metro or facility.
-* `vxlan` - (Optional) vxlan number of the VLAN to look up. Use together with the project_id and metro or facility.
-* `facility` - (Optional) Facility where the VLAN is deployed. Deprecated, see https://feedback.equinixmetal.com/changelog/bye-facilities-hello-again-metros
-* `metro` - (Optional) Metro where the VLAN is deployed.
-
--> **NOTE:** You must set either `vlan_id` or a combination of `vxlan`, `project_id`, and, `metro` or `facility`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `description` - Description text of the VLAN resource.
-* `assigned_devices_ids` - List of device ID to which this VLAN is assigned.
+- `assigned_devices_ids` (List of String) List of device IDs to which this VLAN is assigned
+- `description` (String) VLAN description text
+- `id` (String) The unique identifier for this Metal Vlan
diff --git a/docs/data-sources/metal_vrf.md b/docs/data-sources/metal_vrf.md
index 193dab719..847b7a171 100644
--- a/docs/data-sources/metal_vrf.md
+++ b/docs/data-sources/metal_vrf.md
@@ -1,34 +1,30 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_vrf Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
-# equinix_metal_virtual_circuit (Data Source)
+# equinix_metal_vrf (Data Source)
-Use this data source to retrieve a VRF resource.
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-## Example Usage
-```terraform
-data "equinix_metal_vrf" "example_vrf" {
- vrf_id = "48630899-9ff2-4ce6-a93f-50ff4ebcdf6e"
-}
-```
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Required
-* `vrf_id` - (Required) ID of the VRF resource
+- `vrf_id` (String) ID of the VRF to lookup
-## Attributes Reference
+### Read-Only
-In addition to all arguments above, the following attributes are exported:
-
-* `name` - User-supplied name of the VRF, unique to the project
-* `metro` - Metro ID or Code where the VRF will be deployed.
-* `project_id` - Project ID where the VRF will be deployed.
-* `description` - Description of the VRF.
-* `local_asn` - The 4-byte ASN set on the VRF.
-* `ip_ranges` - All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.
+- `description` (String) Description of the VRF
+- `id` (String) The ID of this resource.
+- `ip_ranges` (Set of String) All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.
+- `local_asn` (Number) The 4-byte ASN set on the VRF.
+- `metro` (String) Metro Code
+- `name` (String) User-supplied name of the VRF, unique to the project
+- `project_id` (String) Project ID
diff --git a/docs/data-sources/network_account.md b/docs/data-sources/network_account.md
index 86ed55723..06329d578 100644
--- a/docs/data-sources/network_account.md
+++ b/docs/data-sources/network_account.md
@@ -1,40 +1,32 @@
---
-subcategory: "Network Edge"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_network_account Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Use this data source to get number and identifier of Equinix Network Edge billing account in a given metro location
---
# equinix_network_account (Data Source)
-Use this data source to get number and identifier of Equinix Network Edge billing account in a given metro location.
+Use this data source to get number and identifier of Equinix Network Edge billing account in a given metro location
-Billing account reference is required to create Network Edge virtual device in corresponding metro location.
-## Example Usage
-```terraform
-# Retrieve details of an account in Active status in DC metro
-data "equinix_network_account" "dc" {
- metro_code = "DC"
- status = "Active"
- project_id = "a86d7112-d740-4758-9c9c-31e66373746b"
-}
+
+## Schema
-output "number" {
- value = data.equinix_network_account.dc.number
-}
-```
+### Required
-## Argument Reference
+- `metro_code` (String) Account location metro cod
-The following arguments are supported:
+### Optional
-* `metro_code` - (Required) Account location metro code.
-* `name` - (Optional) Account name for filtering.
-* `status` - (Optional) Account status for filtering. Possible values are: `Active`, `Processing`, `Submitted`, `Staged`.
-* `project_id` - (Optional) Unique Identifier for the project resource where the account is scoped to.If you leave it out, all the billing accounts under all projects in your organization will be returned and it may return more than one account.
+- `name` (String) Account name for filtering
+- `project_id` (String) The unique identifier of Project Resource to which billing account is scoped to
+- `status` (String) Account status for filtering. Possible values are Active, Processing, Submitted, Staged
-## Attributes Reference
+### Read-Only
-In addition to all arguments above, the following attributes are exported:
-
-* `number` - Account unique number.
-* `ucm_id` - Account unique identifier.
+- `id` (String) The ID of this resource.
+- `number` (String) Account unique number
+- `ucm_id` (String) Account unique identifier
diff --git a/docs/data-sources/network_device.md b/docs/data-sources/network_device.md
index 0bb9e3a87..7dee2cdc8 100644
--- a/docs/data-sources/network_device.md
+++ b/docs/data-sources/network_device.md
@@ -1,78 +1,212 @@
---
-subcategory: "Network Edge"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_network_device Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Use this data source to get details of Equinix Network Edge network device with a given Name or UUID
---
# equinix_network_device (Data Source)
-Use this data source to get Equinix Network Edge device details.
-
-## Example Usage
-
-```terraform
-# Retrieve data for an existing Equinix Network Edge device with UUID "f0b5c553-cdeb-4bc3-95b8-23db9ccfd5ee"
-data "equinix_network_device" "by_uuid" {
- uuid = "f0b5c553-cdeb-4bc3-95b8-23db9ccfd5ee"
-}
-
-# Retrieve data for an existing Equinix Network Edge device named "Arcus-Gateway-A1"
-data "equinix_network_device" "by_name" {
- name = "Arcus-Gateway-A1"
-}
-```
-
-## Argument Reference
-
-* `uuid` - (Optional) UUID of an existing Equinix Network Edge device
-* `name` - (Optional) Name of an existing Equinix Network Edge device
-* `valid_status_list` - (Optional) Device states to be considered valid when searching for a device by name
-
-NOTE: Exactly one of either `uuid` or `name` must be specified.
-
-## Attributes Reference
-
-* `uuid` - Device unique identifier
-* `status` - Device provisioning status
- * INITIALIZING
- * PROVISIONING
- * PROVISIONED (**NOTE: By default data source will only return devices in this state. To include other states see `valid_state_list`**)
- * WAITING_FOR_PRIMARY
- * WAITING_FOR_SECONDARY
- * WAITING_FOR_REPLICA_CLUSTER_NODES
- * CLUSTER_SETUP_IN_PROGRESS
- * FAILED
- * DEPROVISIONING
- * DEPROVISIONED
- * RESOURCE_UPGRADE_IN_PROGRESS
- * RESOURCE_UPGRADE_FAILED
-* `valid_status_list` - Comma separated list of device states (from see `status` for full list) to be considered valid. Default is 'PROVISIONED'. Case insensitive.
-* `license_status` - Device license registration status
- * APPLYING_LICENSE
- * REGISTERED
- * APPLIED
- * WAITING_FOR_CLUSTER_SETUP
- * REGISTRATION_FAILED
- * NA
-* `license_file_id` - Unique identifier of applied license file
-* `ibx` - Device location Equinix Business Exchange name
-* `region` - Device location region
-* `acl_template_id` - Unique identifier of applied ACL template
-* `ssh_ip_address` - IP address of SSH enabled interface on the device
-* `ssh_ip_fqdn` - FQDN of SSH enabled interface on the device
-* `redundancy_type` - Device redundancy type applicable for HA devices, either primary or secondary
-* `redundant_id` - Unique identifier for a redundant device applicable for HA devices
-* `interface` - List of device interfaces
- * `interface.#.id` - interface identifier
- * `interface.#.name` - interface name
- * `interface.#.status` - interface status (AVAILABLE, RESERVED, ASSIGNED)
- * `interface.#.operational_status` - interface operational status (up or down)
- * `interface.#.mac_address` - interface MAC address
- * `interface.#.ip_address` - interface IP address
- * `interface.#.assigned_type` - interface management type (Equinix Managed or empty)
- * `interface.#.type` - interface type
-* `asn` - Autonomous system number
-* `zone_code` - Device location zone code
-* `cluster_id` - The id of the cluster
-* `num_of_nodes` - The number of nodes in the cluster
-* `connectivity` - Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT)
-* `diverse_device_id` - diverse device uuid
-* `diverse_device_name` - Name of the device with diverse device UUID
+Use this data source to get details of Equinix Network Edge network device with a given Name or UUID
+
+
+
+
+## Schema
+
+### Optional
+
+- `name` (String) Device name
+- `uuid` (String) Device unique identifier
+- `valid_status_list` (String) Comma Separated List of states to be considered valid when searching by name
+
+### Read-Only
+
+- `account_number` (String) Device billing account number
+- `acl_template_id` (String) Unique identifier of applied ACL template
+- `additional_bandwidth` (Number) Additional Internet bandwidth, in Mbps, that will be allocated to the device
+- `asn` (Number) Autonomous system number
+- `byol` (Boolean) Boolean value that determines device licensing mode: bring your own license or subscription (default)
+- `cluster_details` (List of Object) An object that has the cluster details (see [below for nested schema](#nestedatt--cluster_details))
+- `connectivity` (String) Parameter to identify internet access for device. Supported Values: INTERNET-ACCESS(default) or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT
+- `core_count` (Number) Number of CPU cores used by device
+- `diverse_device_id` (String) Unique ID of an existing device
+- `diverse_device_name` (String) Diverse Device Name of an existing device
+- `hostname` (String) Device hostname prefix
+- `ibx` (String) Device location Equinix Business Exchange name
+- `id` (String) The ID of this resource.
+- `interface` (List of Object) List of device interfaces (see [below for nested schema](#nestedatt--interface))
+- `interface_count` (Number) Number of network interfaces on a device. If not specified, default number for a given device type will be used
+- `license_file` (String) Path to the license file that will be uploaded and applied on a device, applicable for some device types in BYOL licensing mode
+- `license_file_id` (String) Unique identifier of applied license file
+- `license_status` (String) Device license registration status
+- `license_token` (String) License Token applicable for some device types in BYOL licensing mode
+- `metro_code` (String) Device location metro code
+- `mgmt_acl_template_uuid` (String) Unique identifier of applied MGMT ACL template
+- `notifications` (Set of String) List of email addresses that will receive device status notifications
+- `order_reference` (String) Name/number used to identify device order on the invoice
+- `package_code` (String) Device software package code
+- `project_id` (String) The unique identifier of Project Resource to which device is scoped to
+- `purchase_order_number` (String) Purchase order number associated with a device order
+- `redundancy_type` (String) Device redundancy type applicable for HA devices, either primary or secondary
+- `redundant_id` (String) Unique identifier for a redundant device, applicable for HA device
+- `region` (String) Device location region
+- `secondary_device` (List of Object) Definition of secondary device applicable for HA setup (see [below for nested schema](#nestedatt--secondary_device))
+- `self_managed` (Boolean) Boolean value that determines device management mode: self-managed or subscription (default)
+- `ssh_ip_address` (String) IP address of SSH enabled interface on the device
+- `ssh_ip_fqdn` (String) FQDN of SSH enabled interface on the device
+- `ssh_key` (Set of Object) Definition of SSH key that will be provisioned on a device (see [below for nested schema](#nestedatt--ssh_key))
+- `status` (String) Device provisioning status
+- `term_length` (Number) Device term length
+- `throughput` (Number) Device license throughput
+- `throughput_unit` (String) Device license throughput unit (Mbps or Gbps)
+- `type_code` (String) Device type code
+- `vendor_configuration` (Map of String) Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress)
+- `version` (String) Device software software version
+- `wan_interface_id` (String) device interface id picked for WAN
+- `zone_code` (String) Device location zone code
+
+
+### Nested Schema for `cluster_details`
+
+Read-Only:
+
+- `cluster_id` (String)
+- `cluster_name` (String)
+- `node0` (List of Object) (see [below for nested schema](#nestedobjatt--cluster_details--node0))
+- `node1` (List of Object) (see [below for nested schema](#nestedobjatt--cluster_details--node1))
+- `num_of_nodes` (Number)
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `license_file_id` (String)
+- `license_token` (String)
+- `name` (String)
+- `uuid` (String)
+- `vendor_configuration` (List of Object) (see [below for nested schema](#nestedobjatt--cluster_details--node0--vendor_configuration))
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `activation_key` (String)
+- `admin_password` (String)
+- `controller1` (String)
+- `controller_fqdn` (String)
+- `hostname` (String)
+- `root_password` (String)
+
+
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `license_file_id` (String)
+- `license_token` (String)
+- `name` (String)
+- `uuid` (String)
+- `vendor_configuration` (List of Object) (see [below for nested schema](#nestedobjatt--cluster_details--node1--vendor_configuration))
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `activation_key` (String)
+- `admin_password` (String)
+- `controller1` (String)
+- `controller_fqdn` (String)
+- `hostname` (String)
+- `root_password` (String)
+
+
+
+
+
+### Nested Schema for `interface`
+
+Read-Only:
+
+- `assigned_type` (String)
+- `id` (Number)
+- `ip_address` (String)
+- `mac_address` (String)
+- `name` (String)
+- `operational_status` (String)
+- `status` (String)
+- `type` (String)
+
+
+
+### Nested Schema for `secondary_device`
+
+Read-Only:
+
+- `account_number` (String)
+- `acl_template_id` (String)
+- `additional_bandwidth` (Number)
+- `asn` (Number)
+- `cloud_init_file_id` (String)
+- `hostname` (String)
+- `ibx` (String)
+- `interface` (List of Object) (see [below for nested schema](#nestedobjatt--secondary_device--interface))
+- `license_file` (String)
+- `license_file_id` (String)
+- `license_status` (String)
+- `license_token` (String)
+- `metro_code` (String)
+- `mgmt_acl_template_uuid` (String)
+- `name` (String)
+- `notifications` (Set of String)
+- `project_id` (String)
+- `redundancy_type` (String)
+- `redundant_id` (String)
+- `region` (String)
+- `ssh_ip_address` (String)
+- `ssh_ip_fqdn` (String)
+- `ssh_key` (Set of Object) (see [below for nested schema](#nestedobjatt--secondary_device--ssh_key))
+- `status` (String)
+- `uuid` (String)
+- `vendor_configuration` (Map of String)
+- `wan_interface_id` (String)
+- `zone_code` (String)
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `assigned_type` (String)
+- `id` (Number)
+- `ip_address` (String)
+- `mac_address` (String)
+- `name` (String)
+- `operational_status` (String)
+- `status` (String)
+- `type` (String)
+
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `key_name` (String)
+- `username` (String)
+
+
+
+
+### Nested Schema for `ssh_key`
+
+Read-Only:
+
+- `key_name` (String)
+- `username` (String)
diff --git a/docs/data-sources/network_device_platform.md b/docs/data-sources/network_device_platform.md
index 394fcbec5..8a6062e70 100644
--- a/docs/data-sources/network_device_platform.md
+++ b/docs/data-sources/network_device_platform.md
@@ -1,37 +1,34 @@
---
-subcategory: "Network Edge"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_network_device_platform Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Use this data source to get Equinix Network Edge device platform configuration details for a given device type
---
# equinix_network_device_platform (Data Source)
-Use this data source to get Equinix Network Edge device platform configuration details for a given device type. For further details, check supported [Network Edge Vendors and Devices](https://docs.equinix.com/en-us/Content/Interconnection/NE/user-guide/NE-vendors-devices.htm).
+Use this data source to get Equinix Network Edge device platform configuration details for a given device type
-## Example Usage
-```terraform
-# Retrieve platform configuration of a large flavor for a CSR100V device type
-# Platform has to support IPBASE software package
-data "equinix_network_device_platform" "csrLarge" {
- device_type = "CSR1000V"
- flavor = "large"
- packages = ["IPBASE"]
-}
-```
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Required
-* `device_type` - (Required) Device type code
-* `flavor` - (Optional) Device platform flavor that determines number of CPU cores and memory. Supported values are: `small`, `medium`, `large`, `xlarge`.
-* `core_count` - (Optional) Number of CPU cores used to limit platform search results.
-* `packages` - (Optional) List of software package codes to limit platform search results.
-* `management_types` - (Optional) List of device management types to limit platform search results. Supported values are: `EQUINIX-CONFIGURED`, `SELF-CONFIGURED`.
-* `license_options` - (Optional) List of device licensing options to limit platform search result. Supported values are: `BYOL` (for Bring Your Own License), `Sub` (for license subscription).
+- `device_type` (String) Device type code
-## Attributes Reference
+### Optional
-In addition to all arguments above, the following attributes are exported:
+- `core_count` (Number) Number of CPU cores used to limit platform search results
+- `flavor` (String) Device platform flavor that determines number of CPU cores and memory. Supported values: small, medium, large, xlarge
+- `license_options` (Set of String) List of device licensing options to limit platform search result. Supported values: BYOL (Bring Your Own License), Sub (license subscription)
+- `management_types` (Set of String) List of device management types to limit platform search results. Supported values: EQUINIX-CONFIGURED, SELF-CONFIGURED
+- `packages` (Set of String) List of software package codes to limit platform search results
-* `memory` - The amount of memory provided by device platform.
-* `memory_unit` - Unit of memory provider by device platform.
+### Read-Only
+
+- `id` (String) The ID of this resource.
+- `memory` (Number) The amount of memory provided by device platform
+- `memory_unit` (String) Unit of memory provider by device platform
diff --git a/docs/data-sources/network_device_software.md b/docs/data-sources/network_device_software.md
index d957da14f..a4867517a 100644
--- a/docs/data-sources/network_device_software.md
+++ b/docs/data-sources/network_device_software.md
@@ -1,40 +1,36 @@
---
-subcategory: "Network Edge"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_network_device_software Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Use this data source to get Equinix Network Edge device software details for a given device type.
---
# equinix_network_device_software (Data Source)
-Use this data source to get Equinix Network Edge device software details for a given device type. For further details, check supported [Network Edge Vendors and Devices](https://docs.equinix.com/en-us/Content/Interconnection/NE/user-guide/NE-vendors-devices.htm).
+Use this data source to get Equinix Network Edge device software details for a given device type.
-## Example Usage
-```terraform
-# Retrieve details for CSR1000V device software with latest path of 16.09 version
-# that supports IPBASE package
-data "equinix_network_device_software" "csrLatest1609" {
- device_type = "CSR1000V"
- version_regex = "^16.09.+"
- packages = ["IPBASE"]
- most_recent = true
-}
-```
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Required
-* `device_type` - (Required) Code of a device type.
-* `version_regex` - (Optional) A regex string to apply on returned versions and filter search results.
-* `stable` - (Optional) Boolean value to limit query results to stable versions only.
-* `packages` - (Optional) Limits returned versions to those that are supported by given software package codes.
-* `most_recent` - (Optional) Boolean value to indicate that most recent version should be used *(in case when more than one result is returned)*.
+- `device_type` (String) Code of a device type
-## Attributes Reference
+### Optional
-In addition to all arguments above, the following attributes are exported:
+- `most_recent` (Boolean) Boolean value to indicate that most recent version should be used, in case when more than one result is returned
+- `packages` (Set of String) Limits returned versions to those that are supported by given software package codes
+- `stable` (Boolean) Boolean value to limit query results to stable versions only
+- `version_regex` (String) A regex string to apply on returned versions and filter search results
-* `version` - Version number.
-* `image_name` - Software image name.
-* `date` - Version release date.
-* `status` - Version status.
-* `release_notes_link` - Link to version release notes.
+### Read-Only
+
+- `date` (String) Version release date
+- `id` (String) The ID of this resource.
+- `image_name` (String) Software image name
+- `release_notes_link` (String) Link to version release notes
+- `status` (String) Version status
+- `version` (String) Software version
diff --git a/docs/data-sources/network_device_type.md b/docs/data-sources/network_device_type.md
index c733607d2..f5399f2f0 100644
--- a/docs/data-sources/network_device_type.md
+++ b/docs/data-sources/network_device_type.md
@@ -1,35 +1,29 @@
---
-subcategory: "Network Edge"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_network_device_type Data Source - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Use this data source to get Equinix Network Edge device type details
---
# equinix_network_device_type (Data Source)
-Use this data source to get Equinix Network Edge device type details. For further details, check supported [Network Edge Vendors and Devices](https://docs.equinix.com/en-us/Content/Interconnection/NE/user-guide/NE-vendors-devices.htm).
+Use this data source to get Equinix Network Edge device type details
-## Example Usage
-```terraform
-# Retrieve device type details of a Cisco router
-# Device type has to be available in DC and SV metros
-data "equinix_network_device_type" "ciscoRouter" {
- category = "Router"
- vendor = "Cisco"
- metro_codes = ["DC", "SV"]
-}
-```
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Optional
-* `name` - (Optional) Device type name.
-* `vendor` - (Optional) Device type vendor i.e. `Cisco`, `Juniper Networks`, `VERSA Networks`.
-* `category` - (Optional) Device type category. One of: `Router`, `Firewall`, `SDWAN`.
-* `metro_codes` - (Optional) List of metro codes where device type has to be available
+- `category` (String) Device type category, one of: Router, Firewall, SDWAN
+- `metro_codes` (Set of String) List of metro codes where device type has to be available
+- `name` (String) Device type name
+- `vendor` (String) Device type vendor i.e. Cisco, Juniper Networks, VERSA Networks
-## Attributes Reference
+### Read-Only
-In addition to all arguments above, the following attributes are exported:
-
-* `code` - Device type short code, unique identifier of a network device type
-* `description` - Device type textual description
+- `code` (String) Device type short code, unique identifier of a network device type
+- `description` (String) Device type textual description
+- `id` (String) The ID of this resource.
diff --git a/docs/index.md b/docs/index.md
index 54b394ff3..91466e76e 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,91 +1,28 @@
---
-page_title: "Provider: Equinix"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix Provider"
+subcategory: ""
+description: |-
+
---
-# Equinix Provider
+# equinix Provider
-The Equinix provider is used to interact with the resources provided by Equinix Platform. The provider needs to be configured with the proper credentials before it can be used.
-For information about obtaining API key and secret required for Equinix Fabric and Network Edge refer to [Generating Client ID and Client Secret key](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#generating-client-id-and-client-secret) from [Equinix Developer Platform portal](https://developer.equinix.com).
-Interacting with Equinix Metal requires an API auth token that can be generated at [Project-level](https://metal.equinix.com/developers/docs/accounts/projects/#api-keys) or [User-level](https://metal.equinix.com/developers/docs/accounts/users/#api-keys) tokens can be used.
-If you are only using Equinix Metal resources, you may omit the Client ID and Client Secret provider configuration parameters needed to access other Equinix resource types (Network Edge, Fabric, etc).
-Use the navigation to the left to read about the available resources.
+
+## Schema
-## Example Usage
+### Optional
-Example HCL with [provider configuration](https://www.terraform.io/docs/configuration/providers.html) and a [required providers definition](https://www.terraform.io/language/settings#specifying-a-required-terraform-version):
-
-```terraform
-terraform {
- required_providers {
- equinix = {
- source = "equinix/equinix"
- }
- }
-}
-
-# Credentials for all Equinix resources
-provider "equinix" {
- client_id = "someEquinixAPIClientID"
- client_secret = "someEquinixAPIClientSecret"
- auth_token = "someEquinixMetalToken"
-}
-```
-
-Client ID and Client Secret can be omitted when the only Equinix resources consumed are Equinix Metal resources.
-
-```terraform
-# Credentials for only Equinix Metal resources
-provider "equinix" {
- auth_token = "someEquinixMetalToken"
-}
-```
-
-Example provider configuration using `environment variables`:
-
-```sh
-export EQUINIX_API_CLIENTID=someEquinixAPIClientID
-export EQUINIX_API_CLIENTSECRET=someEquinixAPIClientSecret
-export METAL_AUTH_TOKEN=someEquinixMetalToken
-```
-
-### Token Authentication
-
-Token's can be generated for the API Client using the OAuth2 Token features described in the [OAuth2 API](https://developer.equinix.com/catalog/accesstokenv1#operation/GetOAuth2AccessToken) documentation.
-
-API tokens can be provided using the `token` provider argument, or the `EQUINIX_API_TOKEN` evironment variable. The `client_id` and `client_secret` arguments will be ignored in the presence of a `token` argument.
-
-When testing against the [Equinix Sandbox API](https://developer.equinix.com/environment/sandbox), tokens must be used.
-
-```terraform
-provider "equinix" {
- token = "someToken"
-}
-```
-
-## Argument Reference
-
-The Equinix provider requires a few basic parameters. While the authentication arguments are individually optionally, either `token` or `client_id` and `client_secret` must be defined through arguments or environment settings to interact with Equinix Fabric and Network Edge services, and `auth_token` to interact with Equinix Metal.
-
-* `client_id` - (Optional) API Consumer Key available under "My Apps" in developer portal. This argument can also be specified with the `EQUINIX_API_CLIENTID` shell environment variable.
-
-* `client_secret` (Optional) API Consumer secret available under "My Apps" in developer portal. This argument can also be specified with the `EQUINIX_API_CLIENTSECRET` shell environment variable.
-
-* `token` (Optional) API tokens are generated from API Consumer clients using the [OAuth2 API](https://developer.equinix.com/docs/ecx-getting-started#requesting-access-and-refresh-tokens). This argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable.
-
-* `auth_token` - (Optional) This is your Equinix Metal API Auth token. This can also be specified with the `METAL_AUTH_TOKEN` environment variable.
-
-* `endpoint` (Optional) The Equinix API base URL to point out desired environment. This argument can also be specified with the `EQUINIX_API_ENDPOINT` shell environment variable. (Defaults to `https://api.equinix.com`)
-
-* `request_timeout` (Optional) The duration of time, in seconds, that the Equinix Platform API Client should wait before canceling an API request. Canceled requests may still result in provisioned resources. (Defaults to `30`)
-
-* `response_max_page_size` (Optional) The maximum number of records in a single response for REST queries that produce paginated responses. (Default is client specific)
-
-* `max_retries` (Optional) Maximum number of retries in case of network failure.
-
-* `max_retry_wait_seconds` (Optional) Maximum time to wait in case of network failure.
-
-These parameters can be provided in [Terraform variable files](https://www.terraform.io/docs/configuration/variables.html#variable-definitions-tfvars-files) or as environment variables. Nevertheless, please note that it is [not recommended to keep sensitive data in plain text files](https://www.terraform.io/docs/state/sensitive-data.html).
+- `auth_token` (String) The Equinix Metal API auth key for API operations
+- `client_id` (String) API Consumer Key available under My Apps section in developer portal
+- `client_secret` (String) API Consumer secret available under My Apps section in developer portal
+- `endpoint` (String) The Equinix API base URL to point out desired environment. Defaults to https://api.equinix.com
+- `max_retries` (Number) Maximum number of retries.
+- `max_retry_wait_seconds` (Number) Maximum number of seconds to wait before retrying a request.
+- `request_timeout` (Number) The duration of time, in seconds, that the Equinix Platform API Client should wait before canceling an API request. Defaults to 30
+- `response_max_page_size` (Number) The maximum number of records in a single response for REST queries that produce paginated responses
+- `token` (String) API token from the developer sandbox
diff --git a/docs/resources/ecx_l2_connection.md b/docs/resources/ecx_l2_connection.md
index 6fa5309e8..67dbc6172 100644
--- a/docs/resources/ecx_l2_connection.md
+++ b/docs/resources/ecx_l2_connection.md
@@ -1,250 +1,156 @@
---
-subcategory: "Fabric"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_ecx_l2_connection Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Resource allows creation and management of Equinix Fabric layer 2 connections
---
# 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.
-
-## Example Usage
-
-### Non-redundant Connection from own Equinix Fabric Port
-
-```terraform
-data "equinix_ecx_l2_sellerprofile" "aws" {
- name = "AWS Direct Connect"
-}
-
-data "equinix_ecx_port" "sv-qinq-pri" {
- name = "CX-SV5-NL-Dot1q-BO-10G-PRI"
-}
-
-resource "equinix_ecx_l2_connection" "port-2-aws" {
- name = "tf-aws"
- profile_uuid = data.equinix_ecx_l2_sellerprofile.aws.id
- speed = 200
- speed_unit = "MB"
- notifications = ["marry@equinix.com", "john@equinix.com"]
- port_uuid = data.equinix_ecx_port.sv-qinq-pri.id
- vlan_stag = 777
- vlan_ctag = 1000
- seller_region = "us-west-1"
- seller_metro_code = "SV"
- authorization_key = "345742915919"
-}
-```
-
-### Redundant Connection from own Equinix Fabric Ports
-
-```terraform
-data "equinix_ecx_l2_sellerprofile" "azure" {
- name = "Azure Express Route"
-}
-
-data "equinix_ecx_port" "sv-qinq-pri" {
- name = "CX-SV5-NL-Dot1q-BO-10G-PRI"
-}
-
-data "equinix_ecx_port" "sv-qinq-sec" {
- name = "CX-SV1-NL-Dot1q-BO-10G-SEC"
-}
-
-resource "equinix_ecx_l2_connection" "ports-2-azure" {
- name = "tf-azure-pri"
- profile_uuid = data.equinix_ecx_l2_sellerprofile.azure.id
- speed = 50
- speed_unit = "MB"
- notifications = ["john@equinix.com", "marry@equinix.com"]
- port_uuid = data.equinix_ecx_port.sv-qinq-pri.id
- vlan_stag = 1482
- vlan_ctag = 2512
- seller_metro_code = "SV"
- named_tag = "PRIVATE"
- authorization_key = "c4dff8e8-b52f-4b34-b0d4-c4588f7338f3"
- secondary_connection {
- name = "tf-azure-sec"
- port_uuid = data.equinix_ecx_port.sv-qinq-sec.id
- vlan_stag = 1904
- vlan_ctag = 1631
- }
-}
-```
-
-### Non-redundant Connection from Network Edge device
-
-```terraform
-data "equinix_ecx_l2_sellerprofile" "gcp-1" {
- name = "Google Cloud Partner Interconnect Zone 1"
-}
-
-resource "equinix_ecx_l2_connection" "router-to-gcp" {
- name = "tf-gcp-pri"
- profile_uuid = data.equinix_ecx_l2_sellerprofile.gcp-1.id
- device_uuid = equinix_network_device.myrouter.id
- device_interface_id = 5
- speed = 100
- speed_unit = "MB"
- notifications = ["john@equinix.com", "marry@equinix.com"]
- seller_metro_code = "SV"
- seller_region = "us-west1"
- authorization_key = "4d335adc-00fd-4a41-c9f3-782ca31ab3f7/us-west1/1"
-}
-```
-
-### Non-redundant Connection from an Equinix customer port using A-Side Service token
-
-```terraform
-data "equinix_ecx_l2_sellerprofile" "gcp" {
- name = "Google Cloud Partner Interconnect Zone 1"
-}
-
-resource "equinix_ecx_l2_connection" "token-to-gcp" {
- name = "tf-gcp-pri"
- profile_uuid = data.equinix_ecx_l2_sellerprofile.gcp-1.id
- service_token = "e9c22453-d3a7-4d5d-9112-d50173531392"
- speed = 100
- speed_unit = "MB"
- notifications = ["john@equinix.com", "marry@equinix.com"]
- seller_metro_code = "SV"
- seller_region = "us-west1"
- authorization_key = "4d335adc-00fd-4a41-c9f3-782ca31ab3f7/us-west1/1"
-}
-```
-
-### Non-redundant Connection from own Equinix Fabric Port to an Equinix customer port using Z-Side Service token
-
-```terraform
-data "equinix_ecx_port" "sv-qinq-pri" {
- name = "CX-SV5-NL-Dot1q-BO-10G-PRI"
-}
-
-resource "equinix_ecx_l2_connection" "port-to-token" {
- name = "tf-port-token"
- zside_service_token = "e9c22453-d3a7-4d5d-9112-d50173531392"
- speed = 200
- speed_unit = "MB"
- notifications = ["john@equinix.com", "marry@equinix.com"]
- seller_metro_code = "FR"
- port_uuid = data.equinix_ecx_port.sv-qinq-pri.id
- vlan_stag = 1000
-}
-```
-
--> **NOTE:** See [Equinix Fabric connecting to the cloud](../guides/equinix_fabric_cloud_providers.md) guide for more details on how to connect to a CSP.
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores
-* `profile_uuid` - (Required) Unique identifier of the service provider's profile.
-* `speed` - (Required) Speed/Bandwidth to be allocated to the connection.
-* `speed_unit` - (Required) Unit of the speed/bandwidth to be allocated to the connection.
-* `notifications` - (Required) A list of email addresses used for sending connection update notifications.
-* `purchase_order_number` - (Optional) Connection's purchase order number to reflect on the invoice
-* `port_uuid` - (Required when `device_uuid` or `service_token` are not set) Unique identifier of the Equinix Fabric Port from which the connection would originate.
-* `device_uuid` - (Required when `port_uuid` or `service_token` are not set) Unique identifier of the Network Edge virtual device from which the connection would originate.
-* `device_interface_id` - (Optional) Applicable with `device_uuid`, identifier of network interface on a given device, used for a connection. If not specified then first available interface will be selected.
-* `service_token`- (Required when `port_uuid` or `device_uuid` are not set) - A-side service tokens authorize you to create a connection from a customer port, which created the token for you, to a service profile or your own port. More details in [A-Side Fabric Service Tokens](https://docs.equinix.com/en-us/Content/Interconnection/Fabric/service%20tokens/Fabric-Service-Tokens.htm#:~:text=the%20service%20token.-,A%2DSide%20Service%20Tokens,-If%20you%20want).
-* `zside_service_token`- (Required when `profile_uuid` or `zside_port_uuid` are not set) - Z-side service tokens authorize you to create a connection from your port or virtual device to a customer port which created the token for you. `zside_service_token` cannot be used with `secondary_connection`. More details in [Z-Side Fabric Service Tokens](https://docs.equinix.com/en-us/Content/Interconnection/Fabric/service%20tokens/Fabric-Service-Tokens.htm#:~:text=requirements%20per%20provider.-,Z%2DSide%20Service%20Tokens,-If%20you%20want).
-
--> **NOTE:** Service tokens can't be reused. To recreate a resource or to create a new one for another connection even from same interconnection asset, you will need to request another token from your service provider.
-
-* `vlan_stag` - (Required when port_uuid is set) S-Tag/Outer-Tag of the connection - a numeric character ranging from 2 - 4094.
-* `vlan_ctag` - (Optional) C-Tag/Inner-Tag of the connection - a numeric character ranging from 2 \- 4094.
-* `named_tag` - (Optional) The type of peering to set up when connecting to Azure Express Route. Valid values: `PRIVATE`, `MICROSOFT`, `MANUAL`\*, `PUBLIC`\*.
-
-~> **NOTE:** *"MANUAL"* peering is deprecated. Use *"PRIVATE"* or *"MICROSOFT"* instead. It was used in cases where `zside_vlan_ctag` was needed. `zside_vlan_ctag` can still be defined without need to specify `MANUAL` which does not actually correspond to any type of peering supported in Azure. Check [how to create a connection to Microsoft Azure ExpressRoute with Equinix Fabric](https://docs.equinix.com/en-us/Content/Interconnection/Fabric/connections/Fabric-ms-azure.htm#:~:text=a%20peering%20type.-,(Optional)%C2%A0,-Enter%20a%20vlan) for more details.
-
-~> **NOTE:** *"PUBLIC"* peering is deprecated. Use *"MICROSOFT"* instead. More details in [Microsoft public peering](https://docs.microsoft.com/en-us/azure/expressroute/about-public-peering) docs.
-
-* `additional_info` - (Optional) one or more additional information key-value objects
- * `name` - (Required) additional information key
- * `value` - (Required) additional information value
-* `zside_port_uuid` - (Optional) Unique identifier of the port on the remote/destination side (z-side). Allows you to connect between your own ports or virtual devices across your company's Equinix Fabric deployment, with no need for a private service profile.
-* `zside_vlan_stag` - (Optional) S-Tag/Outer-Tag of the connection on the remote/destination side (z-side) - a numeric character ranging from 2 - 4094.
-* `zside_vlan_ctag` - (Optional) C-Tag/Inner-Tag of the connection on the remote/destination side (z-side) - a numeric character ranging from 2 - 4094. `secondary_connection` is defined it will internally use same `zside_vlan_ctag` for the secondary connection.
-* `seller_region` - (Optional) The region in which the seller port resides.
-* `seller_metro_code` - (Optional) The metro code that denotes the connection’s remote/destination side (z-side).
-* `authorization_key` - (Optional) Unique identifier authorizing Equinix to provision a connection towards a cloud service provider. At Equinix, an `Authorization Key` is a generic term and is NOT encrypted on Equinix Fabric. Cloud Service Providers might use a different name to refer to this key such as `Service Key` or `Authentication Key`. Value depends on a provider service profile, more information on [Equinix Fabric how to guide](https://developer.equinix.com/docs/ecx-how-to-guide).
-* `secondary_connection` - (Optional) Definition of secondary connection for redundant, HA connectivity. See [Secondary Connection](#secondary-connection) below for more details.
-
-### Secondary Connection
-
--> **NOTE:** Some service provider do not directly support redundant connections in their service profiles. However, some of them offer active/active (BGP multipath) or active/passive (failover) configurations in their platforms and you still achieve that highly resilient network connections by creating an `equinix_ecx_l2_connection` resource for each connection instead of defining a `secondary_connection` block.
-
-The `secondary_connection` block supports the following arguments:
-
-* `name` - (Required) secondary connection name
-* `speed` - (Optional) Speed/Bandwidth to be allocated to the secondary connection. If not specified primary `speed` will be used.
-* `speed_unit` - (Optional) Unit of the speed/bandwidth to be allocated to the secondary connection. If not specified primary `speed_unit` will be used.
-* `port_uuid` - (Optional) Applicable with primary `port_uuid`. Identifier of the Equinix Fabric Port from which the secondary connection would originate. If not specified primary `port_uuid` will be used.
-* `device_uuid` - (Optional) Applicable with primary `device_uuid`. Identifier of the Network Edge virtual device from which the secondary connection would originate. If not specified primary `device_uuid` will be used.
-* `device_interface_id` - (Optional) Applicable with `device_uuid`, identifier of network interface on a given device. If not specified then first available interface will be selected.
-* `service_token`- (Optional) Required with primary `service_token`. Unique Equinix Fabric key given by a provider that grants you authorization to enable connectivity from an Equinix Fabric Port or virtual device. Each connection (primary and secondary) requires a separate token. More details in [Fabric Service Tokens](https://docs.equinix.com/en-us/Content/Interconnection/Fabric/service%20tokens/Fabric-Service-Tokens.htm).
-* `vlan_stag` - (Required when `port_uuid` is set) S-Tag/Outer-Tag of the secondary connection, a numeric character ranging from 2 - 4094.
-* `vlan_ctag` - (Optional) Applicable with `port_uuid`. C-Tag/Inner-Tag of the secondary connection, a numeric character ranging from 2 - 4094.
-* `seller_metro_code` - (Optional) The metro code that denotes the secondary connection’s destination (Z side). .
-* `seller_region` - (Optional) The region in which the seller port resides. If not specified primary `seller_region` will be used.
-* `authorization_key` - (Optional) Unique identifier authorizing Equinix to provision a connection towards a cloud service provider. If not specified primary `authorization_key` will be used. However, some service providers may require different keys for each connection. More information on [Equinix Fabric how to guide](https://developer.equinix.com/docs/ecx-how-to-guide).
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Unique identifier of the connection.
-* `status` - Connection provisioning status on Equinix Fabric side.
-* `provider_status` - Connection provisioning status on service provider's side.
-* `redundant_uuid` - Unique identifier of the redundant connection, applicable for HA connections.
-* `redundancy_type` - Connection redundancy type, applicable for HA connections. Valid values are `PRIMARY`, `SECONDARY`.
-* `redundancy_group` - Unique identifier of group containing a primary and secondary connection.
-* `zside_port_uuid` - When not provided as an argument, it is identifier of the z-side port, assigned by the Fabric.
-* `zside_vlan_stag` - When not provided as an argument, it is S-Tag/Outer-Tag of the connection on the Z side, assigned by the Fabric.
-* `actions` - One or more pending actions to complete connection provisioning.
-* `vendor_token` - The Equinix Fabric Token the connection was created with. Applicable if the connection was created with a `service_token` (a-side) or `zside_service_token` (z-side).
-* `secondary_connection`:
- * `zside_port_uuid`
- * `zside_vlan_stag`
- * `zside_vlan_ctag`
- * `redundancy_type`
- * `redundancy_group`
- * `vendor_token`
-
-## Update operation behavior
-
-Update of most arguments will force replacement of a connection (including related redundant connection in HA setup).
-
-Following arguments can be updated. **NOTE** that Equinix Fabric may still forbid updates depending on current connection state, used service provider or number of updates requested during the day.
-
-* `name`
-* `speed` and `speed_unit`
-
-## Timeouts
-
-This resource provides the following [Timeouts configuration](https://www.terraform.io/language/resources/syntax#operation-timeouts) options:
-
-* create - Default is 5 minutes
-* delete - Default is 5 minutes
+Resource allows creation and management of Equinix Fabric layer 2 connections
+
+
+
+
+## Schema
+
+### Required
-## Import
+- `name` (String) Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores
+- `notifications` (Set of String) A list of email addresses used for sending connection update notifications
+- `speed` (Number) Speed/Bandwidth to be allocated to the connection
+- `speed_unit` (String) Unit of the speed/bandwidth to be allocated to the connection
--> **NOTE:** Connections created with a Service Token (both a-side/z-side), will populate the token into `vendor_token` but `service_token` and `zside_service_token` will remain empty.
+### Optional
-Equinix L2 connections can be imported using an existing `id`:
+- `additional_info` (Block Set) One or more additional information key-value objects (see [below for nested schema](#nestedblock--additional_info))
+- `authorization_key` (String) Text field used to authorize connection on the provider side. Value depends on a provider service profile used for connection
+- `device_interface_id` (Number) Identifier of network interface on a given device, used for a connection. If not specified then first available interface will be selected
+- `device_uuid` (String) Unique identifier of the Network Edge virtual device from which the connection would originate
+- `named_tag` (String) The type of peering to set up in case when connecting to Azure Express Route. One of PRIVATE, MICROSOFT, MANUAL, PUBLIC (MANUAL and PUBLIC are deprecated and not available for new connections)
+- `port_uuid` (String) Unique identifier of the buyer's port from which the connection would originate
+- `profile_uuid` (String) Unique identifier of the service provider's service profile
+- `purchase_order_number` (String) Connection's purchase order number to reflect on the invoice
+- `secondary_connection` (Block List, Max: 1) Definition of secondary connection for redundant, HA connectivity (see [below for nested schema](#nestedblock--secondary_connection))
+- `seller_metro_code` (String) The metro code that denotes the connection's remote side (z-side)
+- `seller_region` (String) The region in which the seller port resides
+- `service_token` (String) Unique Equinix Fabric key given by a provider that grants you authorization to enable connectivity from a shared multi-tenant port (a-side)
+- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
+- `vlan_ctag` (Number) C-Tag/Inner-Tag of the connection, a numeric character ranging from 2 - 4094
+- `vlan_stag` (Number) S-Tag/Outer-Tag of the connection, a numeric character ranging from 2 - 4094
+- `zside_port_uuid` (String) Unique identifier of the port on the remote side (z-side)
+- `zside_service_token` (String) Unique Equinix Fabric key given by a provider that grants you authorization to enable connectivity to a shared multi-tenant port (z-side)
+- `zside_vlan_ctag` (Number) C-Tag/Inner-Tag of the connection on the remote side (z-side)
+- `zside_vlan_stag` (Number) S-Tag/Outer-Tag of the connection on the remote side (z-side)
-```sh
-existing_connection_id='example-uuid-1'
-terraform import equinix_ecx_l2_connection.example ${existing_connection_id}
-```
-
--> **NOTE:** To import a redundant connection you must concatenate `id` of both connections (primary and secondary) into a single string separated by `:`.
-
-To import a redundant Equinix L2 connection:
+### Read-Only
-```sh
-existing_primary_connection_id='example-uuid-1'
-existing_secondary_connection_id='example-uuid-2'
-terraform import equinix_ecx_l2_connection.example ${existing_primary_connection_id}:${existing_secondary_connection_id}
-```
+- `actions` (Set of Object) One or more pending actions to complete connection provisioning (see [below for nested schema](#nestedatt--actions))
+- `id` (String) The ID of this resource.
+- `provider_status` (String) Connection provisioning status on service provider's side
+- `redundancy_group` (String) Unique identifier of group containing a primary and secondary connection
+- `redundancy_type` (String) Connection redundancy type, applicable for HA connections. Either primary or secondary
+- `redundant_uuid` (String) Unique identifier of the redundant connection, applicable for HA connections
+- `status` (String) Connection provisioning status on Equinix Fabric side
+- `uuid` (String) Unique identifier of the connection
+- `vendor_token` (String) The Equinix Fabric Token the connection was created with. Applicable if the connection was created with a ServiceToken (a-side) or ZSideServiceToken (z-side)
+
+
+### Nested Schema for `additional_info`
+
+Required:
+
+- `name` (String) Additional information key
+- `value` (String) Additional information value
+
+
+
+### Nested Schema for `secondary_connection`
+
+Required:
+
+- `name` (String) Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores
+
+Optional:
+
+- `authorization_key` (String) Text field used to authorize connection on the provider side. Value depends on a provider service profile used for connection
+- `device_interface_id` (Number) Identifier of network interface on a given device, used for a connection. If not specified then first available interface will be selected
+- `device_uuid` (String) Unique identifier of the Network Edge virtual device from which the connection would originate
+- `port_uuid` (String) Unique identifier of the buyer's port from which the connection would originate
+- `profile_uuid` (String) Unique identifier of the service provider's service profile
+- `seller_metro_code` (String) The metro code that denotes the connection's remote side (z-side)
+- `seller_region` (String) The region in which the seller port resides
+- `service_token` (String) Unique Equinix Fabric key given by a provider that grants you authorization to enable connectivity from a shared multi-tenant port (a-side)
+- `speed` (Number) Speed/Bandwidth to be allocated to the connection
+- `speed_unit` (String) Unit of the speed/bandwidth to be allocated to the connection
+- `vlan_ctag` (Number) C-Tag/Inner-Tag of the connection, a numeric character ranging from 2 - 4094
+- `vlan_stag` (Number) S-Tag/Outer-Tag of the connection, a numeric character ranging from 2 - 4094
+
+Read-Only:
+
+- `actions` (Set of Object) One or more pending actions to complete connection provisioning (see [below for nested schema](#nestedatt--secondary_connection--actions))
+- `provider_status` (String) Connection provisioning status on service provider's side
+- `redundancy_group` (String) Unique identifier of group containing a primary and secondary connection
+- `redundancy_type` (String) Connection redundancy type, applicable for HA connections. Either primary or secondary
+- `redundant_uuid` (String, Deprecated) Unique identifier of the redundant connection, applicable for HA connections
+- `status` (String) Connection provisioning status on Equinix Fabric side
+- `uuid` (String) Unique identifier of the connection
+- `vendor_token` (String) The Equinix Fabric Token the connection was created with. Applicable if the connection was created with a ServiceToken (a-side) or ZSideServiceToken (z-side)
+- `zside_port_uuid` (String) Unique identifier of the port on the remote side (z-side)
+- `zside_vlan_ctag` (Number) C-Tag/Inner-Tag of the connection on the remote side (z-side)
+- `zside_vlan_stag` (Number) S-Tag/Outer-Tag of the connection on the remote side (z-side)
+
+
+### Nested Schema for `secondary_connection.actions`
+
+Read-Only:
+
+- `message` (String)
+- `operation_id` (String)
+- `required_data` (Set of Object) (see [below for nested schema](#nestedobjatt--secondary_connection--actions--required_data))
+- `type` (String)
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `editable` (Boolean)
+- `key` (String)
+- `label` (String)
+- `validation_pattern` (String)
+- `value` (String)
+
+
+
+
+
+### Nested Schema for `timeouts`
+
+Optional:
+
+- `create` (String)
+- `delete` (String)
+
+
+
+### Nested Schema for `actions`
+
+Read-Only:
+
+- `message` (String)
+- `operation_id` (String)
+- `required_data` (Set of Object) (see [below for nested schema](#nestedobjatt--actions--required_data))
+- `type` (String)
+
+
+### Nested Schema for ``
+
+Read-Only:
+
+- `editable` (Boolean)
+- `key` (String)
+- `label` (String)
+- `validation_pattern` (String)
+- `value` (String)
diff --git a/docs/resources/ecx_l2_connection_accepter.md b/docs/resources/ecx_l2_connection_accepter.md
index 7c5e9fd76..1c2971354 100644
--- a/docs/resources/ecx_l2_connection_accepter.md
+++ b/docs/resources/ecx_l2_connection_accepter.md
@@ -1,54 +1,39 @@
---
-subcategory: "Fabric"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_ecx_l2_connection_accepter Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Resource is used to accept Equinix Fabric layer 2 connection on provider side
---
# equinix_ecx_l2_connection_accepter (Resource)
-!> **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 [AWS provider v3.62.0+](https://github.com/hashicorp/terraform-provider-aws/blob/v3.62.0/CHANGELOG.md#3620-october-08-2021) feature.
+Resource is used to accept Equinix Fabric layer 2 connection on provider side
-Resource `equinix_ecx_l2_connection_accepter` is used to accept Equinix Fabric layer 2 connection on provider side.
-Resource leverages Equinix Fabric integration with service providers. Currently supported providers are:
-* `AWS` (AWS Direct Connect)
+
+## Schema
-## Example Usage
+### Required
-```terraform
-resource "equinix_ecx_l2_connection_accepter" "accepter" {
- connection_id = equinix_ecx_l2_connection.awsConn.id
-}
-```
+- `connection_id` (String) Identifier of layer 2 connection that will be accepted
-## AWS Authentication
+### Optional
-The `equinix_ecx_l2_connection_accepter` resource offers flexible means of providing AWS credentials. The following methods are supported and evaluated in a given order:
+- `access_key` (String, Sensitive) Access Key used to accept connection on provider side
+- `aws_profile` (String) AWS Profile Name for retrieving credentials from shared credentials file
+- `secret_key` (String, Sensitive) Secret Key used to accept connection on provider side
+- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
-* static credentials - uses `access_key` and `secret_key` resource arguments
-* environmental variables - uses `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environmental variables
-* shared credentials/configuration file - uses [AWS credentials or configuration file](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html). This method also supports profile configuration by setting `aws_profile` argument or `AWS_PROFILE` environmental variable
+### Read-Only
-~> **NOTE:** It is not recommended to keep credentials in any Terraform configuration.
+- `aws_connection_id` (String) Identifier of a hosted Direct Connect connection on AWS side, applicable for accepter resource with connections to AWS only
+- `id` (String) The ID of this resource.
-## Argument Reference
+
+### Nested Schema for `timeouts`
-The following arguments are supported:
+Optional:
-* `connection_id` - (Required) Identifier of Layer 2 connection that will be accepted.
-* `access_key` - (Optional) Access Key used to accept connection on provider side.
-* `secret_key` - (Optional) Secret Key used to accept connection on provider side.
-* `aws_profile` - (Optional) AWS Profile Name for retrieving credentials from. shared credentials file
-
-## Attribute Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `aws_connection_id` - Identifier of a hosted Direct Connect connection on AWS side, applicable for accepter resource with connections to AWS only.
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_ecx_l2_connection_accepter.example {existing_id}
-```
+- `create` (String)
diff --git a/docs/resources/ecx_l2_serviceprofile.md b/docs/resources/ecx_l2_serviceprofile.md
index a32a67ca5..073e765ca 100644
--- a/docs/resources/ecx_l2_serviceprofile.md
+++ b/docs/resources/ecx_l2_serviceprofile.md
@@ -1,119 +1,82 @@
---
-subcategory: "Fabric"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_ecx_l2_serviceprofile Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# 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.
-
-This resource relies on the Equinix Fabric API. The parameters and attributes available map to the fields described at https://developer.equinix.com/catalog/sellerv3#operation/getProfileByIdOrNameUsingGET.
-
-## Example Usage
-
-```terraform
-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"
- }
-}
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) Name of the service profile. An alpha-numeric 50 characters string which can include only hyphens and underscores.
-* `description` - (Optional) Description of the service profile.
-* `bandwidth_alert_threshold` - (Optional) Specifies the port bandwidth threshold percentage. If the bandwidth limit is met or exceeded, an alert is sent to the seller.
-* `speed_customization_allowed` - (Optional) Boolean value that determines if customer is allowed to enter a custom connection speed.
-* `oversubscription_allowed` - (Optional) Boolean value that determines if, regardless of the utilization, Equinix Fabric will continue to add connections to your links until we reach the oversubscription limit. By selecting this service, you acknowledge that you will manage decisions on when to increase capacity on these link.
-* `api_integration` - (Optional) Boolean value that determines if API integration is enabled. It allows you to complete connection provisioning in less than five minutes. Without API Integration, additional manual steps will be required and the provisioning will likely take longer.
-* `authkey_label` - (Optional) Name of the authentication key label to be used by the Authentication Key service. It allows Service Providers with QinQ ports to accept groups of connections or VLANs from Dot1q customers. This is similar to S-Tag/C-Tag capabilities.
-* `connection_name_label` - (Optional) Custom name used for calling a connections e.g. `circuit`. Defaults to `Connection`.
-* `ctag_label` - (Optional) C-Tag/Inner-Tag label name for the connections.
-* `servicekey_autogenerated` - (Optional) Boolean value that indicates whether multiple connections can be created with the same authorization key to connect to this service profile after the first connection has been approved by the seller.
-* `equinix_managed_port_vlan` - (Optional) Applicable when `api_integration` is set to `true`. It indicates whether the port and VLAN details are managed by Equinix.
-* `integration_id` - (Optional) Specifies the API integration ID that was provided to the customer during onboarding. You can validate your API integration ID using the validateIntegrationId API.
-* `bandwidth_threshold_notifications` - (Optional) A list of email addresses that will receive notifications about bandwidth thresholds.
-* `profile_statuschange_notifications` - (Required) A list of email addresses that will receive notifications about profile status changes.
-* `vc_statuschange_notifications` - (Required) A list of email addresses that will receive notifications about connections approvals and rejections.
-* `oversubscription` - (Optional) You can set an alert for when a percentage of your profile has been sold. Service providers like to use this functionality to alert them when they need to add more ports or when they need to create a new service profile. Required with `oversubscription_allowed`, defaults to `1x`.
-* `private` - (Optional) Boolean value that indicates whether or not this is a private profile, i.e. not public like AWS/Azure/Oracle/Google, etc. If private, it can only be available for creating connections if correct permissions are granted.
-* `private_user_emails` - (Optional) An array of users email ids who have permission to access this service profile. Argument is required when profile is set as private.
-* `redundancy_required` - (Optional) Boolean value that determines if your connections will require redundancy. if yes, then users need to create a secondary redundant connection.
-* `speed_from_api` - (Optional) Boolean valuta that determines if connection speed will be derived from an API call. Argument has to be specified when `api_integration` is enabled.
-* `tag_type` - (Optional) Specifies additional tagging information required by the seller profile for Dot1Q to QinQ translation. See [Enhance Dot1q to QinQ translation support](https://docs.equinix.com/es/Content/Interconnection/Fabric/layer-2/Fabric-Create-Layer2-Service-Profile.htm#:~:text=Enhance%20Dot1q%20to%20QinQ%20translation%20support) for additional information. Valid values are:
- * `CTAGED` - When seller side VLAN C-Tag has to be provided *(Default)*.
- * `NAMED` - When application named tag has to be provided.
- * `BOTH` - When both, application tag or seller side VLAN C-Tag can be provided.
-* `secondary_vlan_from_primary` - (Optional) Indicates whether the VLAN ID of. the secondary connection is the same as the primary connection.
-* `features` - (Required) Block of profile features configuration. See [Features](#features) below for more details.
-* `port` - (Required) One or more definitions of ports residing in locations, from which your customers will be able to access services using this service profile. See [Port](#port) below for more details.
-* `speed_band` - (Optional) One or more definitions of supported speed/bandwidth. Argument is required when `speed_from_api` is set to `false`. See [Speed Band](#speed-band) below for more details.
-
-### Features
-
-The `features` block has below fields:
-
-* `allow_remote_connections` - (Required) Indicates whether or not connections to this profile can be created from remote metro locations.
-* `test_profile` - (Deprecated) Indicates whether or not this profile can be used for test connections.
-
-### Port
-
-Each `port` block has below fields:
-
-* `uuid` - (Required) Unique identifier of the port.
-* `metro_code` - (Required) The metro code of location where the port resides.
-
-### Speed Band
-
-Each `speed_band` block has below fields:
-
-* `speed` - (Required) Speed/bandwidth supported by this service profile.
-* `speed_unit` - (Required) Unit of the speed/bandwidth supported by this service profile. One of `MB`, `GB`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Unique identifier of the service profile.
-* `state` - Service profile provisioning status.
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_ecx_l2_serviceprofile.example {existing_id}
-```
+
+
+
+
+
+## Schema
+
+### Required
+
+- `bandwidth_threshold_notifications` (Set of String) A list of email addresses that will receive notifications about bandwidth thresholds
+- `features` (Block Set, Min: 1, Max: 1) Block of profile features configuration (see [below for nested schema](#nestedblock--features))
+- `name` (String) Name of the service profile. An alpha-numeric 50 characters string which can include only hyphens and underscores
+- `port` (Block Set, Min: 1) One or more definitions of ports associated with the profile (see [below for nested schema](#nestedblock--port))
+- `profile_statuschange_notifications` (Set of String) A list of email addresses that will receive notifications about profile status changes
+- `vc_statuschange_notifications` (Set of String) A list of email addresses that will receive notifications about connections approvals and rejections
+
+### Optional
+
+- `api_integration` (Boolean) Specifies the API integration ID that was provided to the customer during onboarding
+- `authkey_label` (String) Name of the authentication key label to be used by the Authentication Key service
+- `bandwidth_alert_threshold` (Number) Specifies the port bandwidth threshold percentage. If the bandwidth limit is met or exceeded, an alert is sent to the seller
+- `connection_name_label` (String) Custom name used for calling a connections i.e. circuit. Defaults to Connection
+- `ctag_label` (String) C-Tag/Inner-Tag label name for the connections
+- `description` (String) Description of the service profile
+- `equinix_managed_port_vlan` (Boolean) Boolean value that indicates whether the port and VLAN details are managed by Equinix
+- `integration_id` (String) Specifies the API integration ID that was provided to the customer during onboarding
+- `oversubscription` (String) Oversubscription limit that will cause alerting. Default is 1x
+- `oversubscription_allowed` (Boolean) Boolean value that determines if, regardless of the utilization, Equinix Fabric will continue to add connections to your links until we reach the oversubscription limit
+- `private` (Boolean) Boolean value that indicates whether or not this is a private profile.
+- `private_user_emails` (Set of String) A list of email addresses associated to users that will be allowed to access this service profile. Applicable for private profiles
+- `redundancy_required` (Boolean) Boolean value that determines if yourconnections will require redundancy
+- `secondary_vlan_from_primary` (Boolean) Indicates whether the VLAN ID of the secondary connection is the same as the primary connection
+- `servicekey_autogenerated` (Boolean) Boolean value that indicates whether multiple connections can be created with the same authorization key
+- `speed_band` (Block Set) One or more definitions of supported speed/bandwidth configurations (see [below for nested schema](#nestedblock--speed_band))
+- `speed_customization_allowed` (Boolean) Boolean value that determines if customer is allowed to enter a custom connection speed
+- `speed_from_api` (Boolean) Boolean valuta that determines if connection speed will be derived from an API call
+- `tag_type` (String) Specifies additional tagging information required by the seller profile for Dot1Q to QinQ translation
+
+### Read-Only
+
+- `id` (String) The ID of this resource.
+- `state` (String) Service profile provisioning status
+- `uuid` (String) Unique identifier of the service profile
+
+
+### Nested Schema for `features`
+
+Required:
+
+- `allow_remote_connections` (Boolean) Indicates whether or not connections to this profile can be created from remote metro locations
+
+Optional:
+
+- `test_profile` (Boolean, Deprecated) Indicates whether or not this profile can be used for test connections
+
+
+
+### Nested Schema for `port`
+
+Required:
+
+- `metro_code` (String) Port location metro code
+- `uuid` (String) Unique identifier of the port
+
+
+
+### Nested Schema for `speed_band`
+
+Required:
+
+- `speed` (Number) Speed/bandwidth supported by given service profile
+- `speed_unit` (String) Unit of the speed/bandwidth supported by given service profile
diff --git a/docs/resources/fabric_cloud_router.md b/docs/resources/fabric_cloud_router.md
index cf064d738..76e00689f 100644
--- a/docs/resources/fabric_cloud_router.md
+++ b/docs/resources/fabric_cloud_router.md
@@ -1,49 +1,18 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_cloud_router Resource - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible resource allows creation and management of Equinix Fabric Cloud Router
---
# equinix_fabric_cloud_router (Resource)
-Fabric V4 API compatible resource allows creation and management of [Equinix Fabric Cloud Router](https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-intro.htm#HowItWorks).
-
-Additional Fabric Cloud Router documentation:
-* Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-intro.htm#HowItWorks
-* API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#fabric-cloud-routers
-
-## Example Usage
-
-```terraform
-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 = "STANDARD"
- }
- project {
- project_id = "776847000642406"
- }
- account {
- account_number = "203612"
- }
-}
-```
+Fabric V4 API compatible resource allows creation and management of Equinix Fabric Cloud Router
+
-
+
## Schema
### Required
@@ -77,15 +46,14 @@ resource "equinix_fabric_cloud_router" "new_cloud_router"{
- `state` (String) Fabric Cloud Router overall state
-
### Nested Schema for `account`
Optional:
- `account_number` (Number) Account Number
-
+
### Nested Schema for `location`
Optional:
@@ -95,8 +63,8 @@ Optional:
- `metro_name` (String) Access point metro name
- `region` (String) Access point region
-
+
### Nested Schema for `notifications`
Required:
@@ -108,8 +76,8 @@ Optional:
- `send_interval` (String) Send interval
-
+
### Nested Schema for `order`
Optional:
@@ -119,16 +87,16 @@ Optional:
- `order_number` (String) Order Reference Number
- `purchase_order_number` (String) Purchase order number
-
+
### Nested Schema for `package`
Required:
- `code` (String) Fabric Cloud Router package code
-
+
### Nested Schema for `project`
Optional:
@@ -136,8 +104,8 @@ Optional:
- `href` (String) Unique Resource URL
- `project_id` (String) Project Id
-
+
### Nested Schema for `timeouts`
Optional:
@@ -147,8 +115,8 @@ Optional:
- `read` (String)
- `update` (String)
-
+
### Nested Schema for `change_log`
Read-Only:
diff --git a/docs/resources/fabric_connection.md b/docs/resources/fabric_connection.md
index 395e18b3e..fe41f2ea9 100644
--- a/docs/resources/fabric_connection.md
+++ b/docs/resources/fabric_connection.md
@@ -1,7 +1,7 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_connection Resource - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection
---
@@ -10,665 +10,9 @@ description: |-
Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection
-## Supporting Modules
-
-The direct usage of the resources is given in the next section "Example Usage". We also have supporting Terraform Modules that can be used to assist you with common Fabric Connection use cases.
-
-You can find those modules along with their usage examples on the [Terraform Registry: (Fabric Terraform Modules)](https://registry.terraform.io/modules/equinix/fabric/equinix/latest)
-
-## Example Usage
-
-Port to Port EVPL_VC Connection:
-
-```terraform
-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:
-
-```terraform
-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"
- }
- }
- }
-
- additional_info = [
- { key = "accessKey", value = "" },
- { key = "secretKey", value = "" }
- ]
-}
-```
-
-Port to Port EPL Connection:
-
-```terraform
-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:
-
-```terraform
-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:
-
-```terraform
-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 = 7
- }
- }
- }
- 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:
-
-```terraform
-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 = 7
- }
- }
- }
- z_side {
- service_token {
- uuid = ""
- }
- }
-}
-```
-
-Service Token to AWS Connection:
-
-```terraform
-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:
-
-```terraform
-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:
-
-```terraform
-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"
- }
- }
- }
-}
-```
-
-Virtual Device to Azure Connection:
-
-```terraform
-resource "equinix_fabric_connection" "vd2azure" {
- 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 = "CLOUD"
- id = 7
- }
- }
- }
- z_side {
- access_point {
- type = "SP"
- authentication_key = ""
- peering_type = "PRIVATE"
- profile {
- type = "L2_PROFILE"
- uuid = ""
- }
- location {
- metro_code = "SV"
- }
- }
- }
-}
-```
-
-Virtual Device to Azure Redundant Connection:
-
-```terraform
-resource "equinix_fabric_connection" "vd2azure_primary" {
- name = "ConnectionName"
- type = "EVPLAN_VC"
- redundancy { priority = "PRIMARY" }
- 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 = "CLOUD"
- id = 7
- }
- }
- }
- z_side {
- access_point {
- type = "SP"
- authentication_key = ""
- peering_type = "PRIVATE"
- profile {
- type = "L2_PROFILE"
- uuid = ""
- }
- location {
- metro_code = "SV"
- }
- }
- }
-}
-
-resource "equinix_fabric_connection" "vd2azure_secondary" {
- name = "ConnectionName"
- type = "EVPLAN_VC"
- redundancy {
- priority = "SECONDARY"
- group = one(equinix_fabric_connection.vd2azure_primary.redundancy).group
- }
- 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 = "CLOUD"
- id = 5
- }
- }
- }
- 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:
-
-```terraform
-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:
-
-```terraform
-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 = "CLOUD"
- id = 7
- }
- }
- }
- z_side {
- access_point {
- type = "NETWORK"
- network {
- uuid = ""
- }
- }
- }
-}
-```
-
-EPLAN Port to Network Connection:
-
-```terraform
-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:
-
-```terraform
-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 = ""
- }
- }
- }
-}
-```
-
-### Notes:
-
-Port to IBM Connections could be modified from IBM Service Provider Side by using parameters passed to additional_info field:
-* `{"key": "ASN", "value": "1111"}`
-* `{"key": "Global", "value": "false"}`
-* `{"key": "BGP_IBM_CIDR", "value": "172.16.0.18/30"}`
-* `{"key": "BGP_CER_CIDR", "value": "172.16.0.19/30"}`
-
+
## Schema
### Required
@@ -702,7 +46,6 @@ Port to IBM Connections could be modified from IBM Service Provider Side by usin
- `uuid` (String) Equinix-assigned connection identifier
-
### Nested Schema for `a_side`
Optional:
@@ -712,7 +55,6 @@ Optional:
- `service_token` (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see [below for nested schema](#nestedblock--a_side--service_token))
-
### Nested Schema for `a_side.access_point`
Optional:
@@ -737,7 +79,6 @@ Read-Only:
- `account` (Block Set) Account (see [below for nested schema](#nestedblock--a_side--access_point--account))
-
### Nested Schema for `a_side.access_point.gateway`
Optional:
@@ -748,8 +89,8 @@ Read-Only:
- `href` (String) Unique Resource Identifier
-
+
### Nested Schema for `a_side.access_point.interface`
Optional:
@@ -758,8 +99,8 @@ Optional:
- `type` (String) Interface type
- `uuid` (String) Equinix-assigned interface identifier
-
+
### Nested Schema for `a_side.access_point.link_protocol`
Optional:
@@ -769,8 +110,8 @@ Optional:
- `vlan_s_tag` (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections
- `vlan_tag` (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections
-
+
### Nested Schema for `a_side.access_point.location`
Optional:
@@ -780,8 +121,8 @@ Optional:
- `metro_name` (String) Access point metro name
- `region` (String) Access point region
-
+
### Nested Schema for `a_side.access_point.network`
Optional:
@@ -792,8 +133,8 @@ Read-Only:
- `href` (String) Unique Resource Identifier
-
+
### Nested Schema for `a_side.access_point.port`
Optional:
@@ -807,7 +148,6 @@ Read-Only:
- `redundancy` (Set of Object) Redundancy Information (see [below for nested schema](#nestedatt--a_side--access_point--port--redundancy))
-
### Nested Schema for `a_side.access_point.port.redundancy`
Read-Only:
@@ -816,8 +156,9 @@ Read-Only:
- `group` (String)
- `priority` (String)
-
+
+
### Nested Schema for `a_side.access_point.profile`
Required:
@@ -833,7 +174,6 @@ Read-Only:
- `name` (String) Customer-assigned service profile name
-
### Nested Schema for `a_side.access_point.profile.access_point_type_configs`
Read-Only:
@@ -841,8 +181,9 @@ Read-Only:
- `type` (String)
- `uuid` (String)
-
+
+
### Nested Schema for `a_side.access_point.router`
Optional:
@@ -853,8 +194,8 @@ Read-Only:
- `href` (String) Unique Resource Identifier
-
+
### Nested Schema for `a_side.access_point.virtual_device`
Optional:
@@ -867,8 +208,8 @@ Read-Only:
- `href` (String) Unique Resource Identifier
-
+
### Nested Schema for `a_side.access_point.account`
Read-Only:
@@ -882,8 +223,9 @@ Read-Only:
- `organization_name` (String) Equinix-assigned name of the subscriber's organization.
- `ucm_id` (String) Enterprise datastore id
-
+
+
### Nested Schema for `a_side.additional_info`
Optional:
@@ -891,8 +233,8 @@ Optional:
- `key` (String) Additional information key
- `value` (String) Additional information value
-
+
### Nested Schema for `a_side.service_token`
Optional:
@@ -905,8 +247,9 @@ Read-Only:
- `description` (String) Service token description
- `href` (String) An absolute URL that is the subject of the link's context
-
+
+
### Nested Schema for `notifications`
Required:
@@ -918,8 +261,8 @@ Optional:
- `send_interval` (String) Send interval
-
+
### Nested Schema for `order`
Optional:
@@ -929,8 +272,8 @@ Optional:
- `order_number` (String) Order Reference Number
- `purchase_order_number` (String) Purchase order number
-
+
### Nested Schema for `z_side`
Optional:
@@ -940,7 +283,6 @@ Optional:
- `service_token` (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see [below for nested schema](#nestedblock--z_side--service_token))
-
### Nested Schema for `z_side.access_point`
Optional:
@@ -965,7 +307,6 @@ Read-Only:
- `account` (Block Set) Account (see [below for nested schema](#nestedblock--z_side--access_point--account))
-
### Nested Schema for `z_side.access_point.gateway`
Optional:
@@ -976,8 +317,8 @@ Read-Only:
- `href` (String) Unique Resource Identifier
-
+
### Nested Schema for `z_side.access_point.interface`
Optional:
@@ -986,8 +327,8 @@ Optional:
- `type` (String) Interface type
- `uuid` (String) Equinix-assigned interface identifier
-
+
### Nested Schema for `z_side.access_point.link_protocol`
Optional:
@@ -997,8 +338,8 @@ Optional:
- `vlan_s_tag` (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections
- `vlan_tag` (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections
-
+
### Nested Schema for `z_side.access_point.location`
Optional:
@@ -1008,8 +349,8 @@ Optional:
- `metro_name` (String) Access point metro name
- `region` (String) Access point region
-
+
### Nested Schema for `z_side.access_point.network`
Optional:
@@ -1020,8 +361,8 @@ Read-Only:
- `href` (String) Unique Resource Identifier
-
+
### Nested Schema for `z_side.access_point.port`
Optional:
@@ -1035,7 +376,6 @@ Read-Only:
- `redundancy` (Set of Object) Redundancy Information (see [below for nested schema](#nestedatt--z_side--access_point--port--redundancy))
-
### Nested Schema for `z_side.access_point.port.redundancy`
Read-Only:
@@ -1044,8 +384,9 @@ Read-Only:
- `group` (String)
- `priority` (String)
-
+
+
### Nested Schema for `z_side.access_point.profile`
Required:
@@ -1061,7 +402,6 @@ Read-Only:
- `name` (String) Customer-assigned service profile name
-
### Nested Schema for `z_side.access_point.profile.access_point_type_configs`
Read-Only:
@@ -1069,8 +409,9 @@ Read-Only:
- `type` (String)
- `uuid` (String)
-
+
+
### Nested Schema for `z_side.access_point.router`
Optional:
@@ -1081,8 +422,8 @@ Read-Only:
- `href` (String) Unique Resource Identifier
-
+
### Nested Schema for `z_side.access_point.virtual_device`
Optional:
@@ -1095,8 +436,8 @@ Read-Only:
- `href` (String) Unique Resource Identifier
-
+
### Nested Schema for `z_side.access_point.account`
Read-Only:
@@ -1110,8 +451,9 @@ Read-Only:
- `organization_name` (String) Equinix-assigned name of the subscriber's organization.
- `ucm_id` (String) Enterprise datastore id
-
+
+
### Nested Schema for `z_side.additional_info`
Optional:
@@ -1119,8 +461,8 @@ Optional:
- `key` (String) Additional information key
- `value` (String) Additional information value
-
+
### Nested Schema for `z_side.service_token`
Optional:
@@ -1133,8 +475,9 @@ Read-Only:
- `description` (String) Service token description
- `href` (String) An absolute URL that is the subject of the link's context
-
+
+
### Nested Schema for `project`
Optional:
@@ -1145,8 +488,8 @@ Read-Only:
- `href` (String) Unique Resource URL
-
+
### Nested Schema for `redundancy`
Optional:
@@ -1154,8 +497,8 @@ Optional:
- `group` (String) Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group)
- `priority` (String) Connection priority in redundancy group - PRIMARY, SECONDARY
-
+
### Nested Schema for `timeouts`
Optional:
@@ -1165,8 +508,8 @@ Optional:
- `read` (String)
- `update` (String)
-
+
### Nested Schema for `account`
Read-Only:
@@ -1180,8 +523,8 @@ Read-Only:
- `organization_name` (String)
- `ucm_id` (String)
-
+
### Nested Schema for `change_log`
Read-Only:
@@ -1199,8 +542,8 @@ Read-Only:
- `updated_by_full_name` (String)
- `updated_date_time` (String)
-
+
### Nested Schema for `operation`
Read-Only:
@@ -1210,8 +553,7 @@ Read-Only:
- `provider_status` (String)
-
-### Nested Schema for `operation.errors`
+### Nested Schema for ``
Read-Only:
@@ -1223,8 +565,7 @@ Read-Only:
- `help` (String)
-
-### Nested Schema for `operation.errors.additional_info`
+### Nested Schema for ``
Read-Only:
diff --git a/docs/resources/fabric_network.md b/docs/resources/fabric_network.md
index 947ddcfcd..1002f052f 100644
--- a/docs/resources/fabric_network.md
+++ b/docs/resources/fabric_network.md
@@ -1,7 +1,7 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_network Resource - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible resource allows creation and management of Equinix Fabric Network
---
@@ -10,25 +10,9 @@ description: |-
Fabric V4 API compatible resource allows creation and management of Equinix Fabric Network
-## Example Usage
-
-```terraform
-resource "equinix_fabric_network" "new_network" {
- name = "Network-SV"
- type = "EVPLAN"
- scope = "GLOBAL"
- notifications {
- type = "ALL"
- emails = ["example@equinix.com","test1@equinix.com"]
- }
- project {
- project_id = "776847000642406"
- }
-}
-```
-
+
## Schema
### Required
@@ -56,7 +40,6 @@ resource "equinix_fabric_network" "new_network" {
- `uuid` (String) Equinix-assigned network identifier
-
### Nested Schema for `notifications`
Required:
@@ -68,16 +51,16 @@ Optional:
- `send_interval` (String) Send interval
-
+
### Nested Schema for `project`
Required:
- `project_id` (String) Customer project identifier
-
+
### Nested Schema for `location`
Optional:
@@ -87,8 +70,8 @@ Optional:
- `metro_name` (String) Access point metro name
- `region` (String) Access point region
-
+
### Nested Schema for `timeouts`
Optional:
@@ -98,8 +81,8 @@ Optional:
- `read` (String)
- `update` (String)
-
+
### Nested Schema for `change`
Read-Only:
@@ -108,8 +91,8 @@ Read-Only:
- `type` (String)
- `uuid` (String)
-
+
### Nested Schema for `change_log`
Read-Only:
@@ -127,8 +110,8 @@ Read-Only:
- `updated_by_full_name` (String)
- `updated_date_time` (String)
-
+
### Nested Schema for `operation`
Read-Only:
diff --git a/docs/resources/fabric_routing_protocol.md b/docs/resources/fabric_routing_protocol.md
index 32ef26cff..71e01ff86 100644
--- a/docs/resources/fabric_routing_protocol.md
+++ b/docs/resources/fabric_routing_protocol.md
@@ -1,7 +1,7 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_routing_protocol Resource - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection
---
@@ -10,81 +10,9 @@ description: |-
Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection
-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
-
-```terraform
-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):
-
-```terraform
-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):
-
-```terraform
-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
### Required
@@ -117,7 +45,6 @@ resource "equinix_fabric_routing_protocol" "bgp" {
- `state` (String) Routing Protocol overall state
-
### Nested Schema for `bfd`
Required:
@@ -128,8 +55,8 @@ Optional:
- `interval` (String) Interval range between the received BFD control packets
-
+
### Nested Schema for `bgp_ipv4`
Required:
@@ -144,8 +71,8 @@ Read-Only:
- `equinix_peer_ip` (String) Equinix side peering ip
-
+
### Nested Schema for `bgp_ipv6`
Required:
@@ -160,24 +87,24 @@ Read-Only:
- `equinix_peer_ip` (String) Equinix side peering ip
-
+
### Nested Schema for `direct_ipv4`
Required:
- `equinix_iface_ip` (String) Equinix side Interface IP address
-
+
### Nested Schema for `direct_ipv6`
Optional:
- `equinix_iface_ip` (String) Equinix side Interface IP address
-
+
### Nested Schema for `timeouts`
Optional:
@@ -187,8 +114,8 @@ Optional:
- `read` (String)
- `update` (String)
-
+
### Nested Schema for `change`
Read-Only:
@@ -197,8 +124,8 @@ Read-Only:
- `type` (String)
- `uuid` (String)
-
+
### Nested Schema for `change_log`
Read-Only:
@@ -216,8 +143,8 @@ Read-Only:
- `updated_by_full_name` (String)
- `updated_date_time` (String)
-
+
### Nested Schema for `operation`
Read-Only:
@@ -225,8 +152,7 @@ Read-Only:
- `errors` (List of Object) (see [below for nested schema](#nestedobjatt--operation--errors))
-
-### Nested Schema for `operation.errors`
+### Nested Schema for ``
Read-Only:
@@ -238,8 +164,7 @@ Read-Only:
- `help` (String)
-
-### Nested Schema for `operation.errors.additional_info`
+### Nested Schema for ``
Read-Only:
diff --git a/docs/resources/fabric_service_profile.md b/docs/resources/fabric_service_profile.md
index fc2233c57..5dee99495 100644
--- a/docs/resources/fabric_service_profile.md
+++ b/docs/resources/fabric_service_profile.md
@@ -1,7 +1,7 @@
---
# generated by https://github.com/hashicorp/terraform-plugin-docs
page_title: "equinix_fabric_service_profile Resource - terraform-provider-equinix"
-subcategory: "Fabric"
+subcategory: ""
description: |-
Fabric V4 API compatible resource allows creation and management of Equinix Fabric Service Profile
---
@@ -10,43 +10,9 @@ description: |-
Fabric V4 API compatible resource allows creation and management of Equinix Fabric Service Profile
-## Example Usage
-
-```terraform
-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
### Required
@@ -65,7 +31,7 @@ resource "equinix_fabric_service_profile" "new_service_profile" {
- `notifications` (Block List) Preferences for notifications on connection configuration or status changes (see [below for nested schema](#nestedblock--notifications))
- `ports` (Block List) Ports (see [below for nested schema](#nestedblock--ports))
- `project` (Block Set, Max: 1) Project information (see [below for nested schema](#nestedblock--project))
-- `self_profile` (Boolean) Self Profile indicating if the profile is created for customer's self use
+- `self_profile` (Boolean) Self Profile indicating if the profile is created for customer's self use
- `state` (String) Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED
- `tags` (List of String) Tags attached to the connection
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
@@ -81,7 +47,6 @@ resource "equinix_fabric_service_profile" "new_service_profile" {
- `uuid` (String) Equinix assigned service profile identifier
-
### Nested Schema for `access_point_type_configs`
Required:
@@ -108,7 +73,6 @@ Read-Only:
- `uuid` (String) Colo/Port Uuid
-
### Nested Schema for `access_point_type_configs.api_config`
Optional:
@@ -121,8 +85,8 @@ Optional:
- `integration_id` (String) A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API.
- `over_subscription_limit` (Number) Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps.
-
+
### Nested Schema for `access_point_type_configs.authentication_key`
Optional:
@@ -131,8 +95,8 @@ Optional:
- `label` (String) Name of the parameter that must be provided to authorize the connection.
- `required` (Boolean) Requirement to configure an authentication key.
-
+
### Nested Schema for `access_point_type_configs.link_protocol_config`
Optional:
@@ -141,8 +105,9 @@ Optional:
- `encapsulation_strategy` (String) Additional tagging information required by the seller profile.
- `reuse_vlan_s_tag` (Boolean) Automatically accept subsequent DOT1Q to QINQ connections that use the same authentication key. These connections will have the same VLAN S-tag assigned as the initial connection.
-
+
+
### Nested Schema for `custom_fields`
Required:
@@ -157,8 +122,8 @@ Optional:
- `description` (String) Description
- `options` (List of String) Options
-
+
### Nested Schema for `marketing_info`
Optional:
@@ -168,7 +133,6 @@ Optional:
- `promotion` (Boolean) Promotion
-
### Nested Schema for `marketing_info.process_step`
Optional:
@@ -177,8 +141,9 @@ Optional:
- `sub_title` (String) Sub Title
- `title` (String) Title
-
+
+
### Nested Schema for `metros`
Optional:
@@ -190,8 +155,8 @@ Optional:
- `name` (String) Metro Name
- `seller_regions` (Map of String) Seller Regions
-
+
### Nested Schema for `notifications`
Required:
@@ -203,8 +168,8 @@ Optional:
- `send_interval` (String) Send interval
-
+
### Nested Schema for `ports`
Required:
@@ -220,7 +185,6 @@ Optional:
- `seller_region_description` (String) Seller Region details
-
### Nested Schema for `ports.location`
Optional:
@@ -230,8 +194,9 @@ Optional:
- `metro_name` (String) Access point metro name
- `region` (String) Access point region
-
+
+
### Nested Schema for `project`
Optional:
@@ -242,8 +207,8 @@ Read-Only:
- `href` (String) Unique Resource URL
-
+
### Nested Schema for `timeouts`
Optional:
@@ -253,8 +218,8 @@ Optional:
- `read` (String)
- `update` (String)
-
+
### Nested Schema for `virtual_devices`
Required:
@@ -268,7 +233,6 @@ Optional:
- `location` (Block Set, Max: 1) Device Location (see [below for nested schema](#nestedblock--virtual_devices--location))
-
### Nested Schema for `virtual_devices.location`
Optional:
@@ -278,8 +242,9 @@ Optional:
- `metro_name` (String) Access point metro name
- `region` (String) Access point region
-
+
+
### Nested Schema for `account`
Read-Only:
@@ -293,8 +258,8 @@ Read-Only:
- `organization_name` (String)
- `ucm_id` (String)
-
+
### Nested Schema for `change_log`
Read-Only:
diff --git a/docs/resources/metal_bgp_session.md b/docs/resources/metal_bgp_session.md
index efb7a97b6..01af25299 100644
--- a/docs/resources/metal_bgp_session.md
+++ b/docs/resources/metal_bgp_session.md
@@ -1,164 +1,30 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_bgp_session Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_bgp_session (Resource)
-Provides a resource to manage BGP sessions in Equinix Metal Host. Refer to [Equinix Metal BGP documentation](https://metal.equinix.com/developers/docs/networking/local-global-bgp/) for more details.
-You need to have BGP config enabled in your project.
-BGP session must be linked to a device running [BIRD](https://bird.network.cz) or other BGP routing daemon which will control route advertisements via the session to Equinix Metal's upstream routers.
-## Example Usage
-Following HCL illustrates usage of the BGP features in Equinix Metal. It will
+
+## Schema
-* spawn a device in a new BGP-enabled project
-* reserve a floating IPv4 address in the project in the same location as the device
-* configure the floating IPv4 statically in the device
-* install and configure [BIRD](https://bird.network.cz) in the device, and make it announce the floating IPv4 locally
+### Required
-```terraform
-locals {
- bgp_password = "955dB0b81Ef"
- project_id = ""
-}
+- `address_family` (String) ipv4 or ipv6
+- `device_id` (String) ID of device
-# you need to enable BGP config for the project. If you decide to create new
-# project, you can use the bgp_config section to enable BGP.
-# resource "equinix_metal_project" "test" {
-# name = "testpro"
-# bgp_config {
-# deployment_type = "local"
-# md5 = local.bgp_password
-# asn = 65000
-# }
-# }
+### Optional
-resource "equinix_metal_reserved_ip_block" "addr" {
- project_id = local.project_id
- metro = "ny"
- quantity = 1
-}
+- `default_route` (Boolean) Boolean flag to set the default route policy. False by default
-resource "equinix_metal_device" "test" {
- hostname = "terraform-test-bgp-sesh"
- plan = "c3.small.x86"
- metro = ["ny"]
- operating_system = "ubuntu_20_04"
- billing_cycle = "hourly"
- project_id = local.project_id
-}
+### Read-Only
-resource "equinix_metal_bgp_session" "test" {
- device_id = equinix_metal_device.test.id
- address_family = "ipv4"
-}
-
-
-data "template_file" "interface_lo0" {
- template = <> /etc/network/interfaces",
- "ifup lo:0",
- "service bird restart",
- ]
- }
-}
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `device_id` - (Required) ID of device.
-* `address_family` - (Required) `ipv4` or `ipv6`.
-* `default_route` - (Optional) Boolean flag to set the default route policy. False by default.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `status`: Status of the session - `up` or `down`
+- `id` (String) The ID of this resource.
+- `status` (String) Status of the session - up or down
diff --git a/docs/resources/metal_connection.md b/docs/resources/metal_connection.md
index bfc9923f9..9ec1724b0 100644
--- a/docs/resources/metal_connection.md
+++ b/docs/resources/metal_connection.md
@@ -1,157 +1,72 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_connection Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_connection (Resource)
-Use this resource to request the creation an Interconnection asset to connect with other parties using [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/).
-
-~> Equinix Metal connection with with Service Token A-side / Z-side (service_token_type) is not generally available and may not be enabled yet for your organization.
-
-## Example Usage
-
-### Shared Connection with a_side token - Redundant Connection from Equinix Metal to a Cloud Service Provider
-
-```terraform
-resource "equinix_metal_connection" "example" {
- name = "tf-metal-to-azure"
- project_id = local.project_id
- type = "shared"
- redundancy = "redundant"
- metro = "sv"
- speed = "1000Mbps"
- service_token_type = "a_side"
- contact_email = "username@example.com"
-}
-
-data "equinix_ecx_l2_sellerprofile" "example" {
- name = "Azure ExpressRoute"
- organization_global_name = "Microsoft"
-}
-
-resource "equinix_ecx_l2_connection" "example" {
- name = "tf-metal-to-azure"
- profile_uuid = data.equinix_ecx_l2_sellerprofile.example.uuid
- speed = azurerm_express_route_circuit.example.bandwidth_in_mbps
- speed_unit = "MB"
- notifications = ["example@equinix.com"]
- service_token = equinix_metal_connection.example.service_tokens.0.id
- seller_metro_code = "AM"
- authorization_key = azurerm_express_route_circuit.example.service_key
- named_tag = "PRIVATE"
- secondary_connection {
- name = "tf-metal-to-azure-sec"
- service_token = equinix_metal_connection.example.service_tokens.1.id
- }
-}
-```
-
--> NOTE: There are multiple [Equinix Fabric L2 Connection Terraform modules](https://registry.terraform.io/search/modules?namespace=equinix-labs&q=fabric-connection) available with full-fledged examples of connections from Fabric Ports, Network Edge Devices or Service Token to most popular Cloud Service Providers. Check out the examples for Equinix Metal shared connection with A-side Service Token included in each of them: [AWS](https://registry.terraform.io/modules/equinix-labs/fabric-connection-aws/equinix/latest/examples/service-token-metal-to-aws-connection), [Azure](https://registry.terraform.io/modules/equinix-labs/fabric-connection-azure/equinix/latest/examples/service-token-metal-to-azure-connection), [Google Cloud](https://registry.terraform.io/modules/equinix-labs/fabric-connection-gcp/equinix/latest/examples/service-token-metal-to-gcp-connection), [IBM Cloud](https://registry.terraform.io/modules/equinix-labs/fabric-connection-ibm/equinix/latest/examples/service-token-metal-to-ibm-connection), [Oracle Cloud](https://registry.terraform.io/modules/equinix-labs/fabric-connection-oci/equinix/latest/examples/service-token-metal-to-oci-connection), [Alibaba Cloud](https://registry.terraform.io/modules/equinix-labs/fabric-connection-alibaba/equinix/latest/examples/service-token-metal-to-alibaba-connection).
-
-### Shared Connection with z_side token - Non-redundant Connection from your own Equinix Fabric Port to Equinix Metal
-
-```terraform
-resource "equinix_metal_vlan" "example" {
- project_id = local.my_project_id
- metro = "FR"
-}
-
-resource "equinix_metal_connection" "example" {
- name = "tf-port-to-metal"
- project_id = local.project_id
- type = "shared"
- redundancy = "primary"
- metro = "FR"
- speed = "200Mbps"
- service_token_type = "z_side"
- contact_email = "username@example.com"
- vlans = [
- equinix_metal_vlan.example.vxlan
- ]
-}
-
-data "equinix_ecx_port" "example" {
- name = "CX-FR5-NL-Dot1q-BO-1G-PRI"
-}
-
-resource "equinix_ecx_l2_connection" "example" {
- name = "tf-port-to-metal"
- zside_service_token = equinix_metal_connection.example.service_tokens.0.id
- speed = "200"
- speed_unit = "MB"
- notifications = ["example@equinix.com"]
- port_uuid = data.equinix_ecx_port.example.id
- vlan_stag = 1020
-}
-```
-
--> NOTE: There is an [Equinix Fabric L2 Connection To Equinix Metal Terraform module](https://registry.terraform.io/modules/equinix-labs/fabric-connection-metal/equinix/latest) available with full-fledged examples of connections from Fabric Ports, Network Edge Devices or Service Tokens. Check out the [example for shared connection with Z-side Service Token](https://registry.terraform.io/modules/equinix-labs/fabric-connection-metal/equinix/0.2.0/examples/fabric-port-connection-with-zside-token).
-
-### Shared Connection for organizations without Connection Services Token feature enabled
-
-```terraform
-resource "equinix_metal_vlan" "example1" {
- project_id = local.my_project_id
- metro = "SV"
-}
-
-resource "equinix_metal_vlan" "example2" {
- project_id = local.my_project_id
- metro = "SV"
-}
-
-resource "equinix_metal_connection" "example" {
- name = "tf-port-to-metal-legacy"
- project_id = local.my_project_id
- metro = "SV"
- redundancy = "redundant"
- type = "shared"
- contact_email = "username@example.com"
- vlans = [
- equinix_metal_vlan.example1.vxlan,
- equinix_metal_vlan.example2.vxlan
- ]
-}
-
-data "equinix_ecx_port" "example" {
- name = "CX-FR5-NL-Dot1q-BO-1G-PRI"
-}
-
-resource "equinix_ecx_l2_connection" "example" {
- name = "tf-port-to-metal-legacy"
- speed = "200"
- speed_unit = "MB"
- notifications = ["example@equinix.com"]
- port_uuid = data.equinix_ecx_port.example.id
- vlan_stag = 1020
- authorization_key = equinix_metal_connection.example.token
-}
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) Name of the connection resource
-* `metro` - (Optional) Metro where the connection will be created.
-* `facility` - (**Deprecated**) Facility where the connection will be created. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `redundancy` - (Required) Connection redundancy - redundant or primary.
-* `type` - (Required) Connection type - dedicated or shared.
-* `contact_email` - (Optional) The preferred email used for communication and notifications about the Equinix Fabric interconnection. Required when using a Project API key. Optional and defaults to the primary user email address when using a User API key.
-* `project_id` - (Optional) ID of the project where the connection is scoped to, must be set for.
-* `speed` - (Required) Connection speed - Values must be in the format 'Mbps' or 'Gpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
-* `description` - (Optional) Description for the connection resource.
-* `mode` - (Optional) Mode for connections in IBX facilities with the dedicated type - standard or tunnel. Default is standard.
-* `tags` - (Optional) String list of tags.
-* `vlans` - (Optional) Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection.
-* `service_token_type` - (Optional) Only used with shared connection. Type of service token to use for the connection, a_side or z_side. (**NOTE: To support the legacy non-automated way to create connections, terraform will not check if `service_token_type` is specified. If your organization already has `service_token_type` enabled, be sure to specify it or the connection will return a legacy connection token instead of a service token**)
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `organization_id` - ID of the organization where the connection is scoped to.
-* `status` - Status of the connection resource.
-* `ports` - List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`). Schema of port is described in documentation of the [equinix_metal_connection datasource](../data-sources/equinix_metal_connection.md).
-* `service_tokens` - List of connection service tokens with attributes required to configure the connection in Equinix Fabric with the [equinix_ecx_l2_connection](./equinix_ecx_l2_connection.md) resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). Scehma of service_token is described in documentation of the [equinix_metal_connection datasource](../data-sources/equinix_metal_connection.md).
-* `token` - (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the [equinix_ecx_l2_connection](./equinix_ecx_l2_connection.md) resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `service_tokens` instead.
+
+
+
+
+
+## Schema
+
+### Required
+
+- `name` (String) Name of the connection resource
+- `redundancy` (String) Connection redundancy - redundant or primary
+- `type` (String) Connection type - dedicated, shared or shared_port_vlan
+
+### Optional
+
+- `contact_email` (String) The preferred email used for communication and notifications about the Equinix Fabric interconnection
+- `description` (String) Description of the connection resource
+- `facility` (String, Deprecated) Facility where the connection will be created
+- `metro` (String) Metro where the connection will be created
+- `mode` (String) Mode for connections in IBX facilities with the dedicated type - standard or tunnel
+- `organization_id` (String) ID of the organization responsible for the connection. Applicable with type "dedicated"
+- `project_id` (String) ID of the project where the connection is scoped to. Required with type "shared"
+- `service_token_type` (String) Only used with shared connection. Type of service token to use for the connection, a_side or z_side
+- `speed` (String) Connection speed - Values must be in the format 'Mbps' or 'Gpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
+- `tags` (List of String) Tags attached to the connection
+- `vlans` (List of Number) Only used with shared connection. VLANs to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection
+- `vrfs` (List of String) Only used with shared connection. VRFs to attach. Pass one VRF for Primary/Single connection and two VRFs for Redundant connection
+
+### Read-Only
+
+- `authorization_code` (String) Only used with Fabric Shared connection. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.
+- `id` (String) The unique identifier of the resource
+- `ports` (List of Object) List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`) (see [below for nested schema](#nestedatt--ports))
+- `service_tokens` (List of Object) Only used with shared connection. List of service tokens required to continue the setup process with [equinix_ecx_l2_connection](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_ecx_l2_connection) or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard) (see [below for nested schema](#nestedatt--service_tokens))
+- `status` (String) Status of the connection resource
+- `token` (String, Deprecated) Only used with shared connection. Fabric Token required to continue the setup process with [equinix_ecx_l2_connection](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_ecx_l2_connection) or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard)
+
+
+### Nested Schema for `ports`
+
+Read-Only:
+
+- `id` (String)
+- `link_status` (String)
+- `name` (String)
+- `role` (String)
+- `speed` (Number)
+- `status` (String)
+- `virtual_circuit_ids` (List of String)
+
+
+
+### Nested Schema for `service_tokens`
+
+Read-Only:
+
+- `expires_at` (String)
+- `id` (String)
+- `max_allowed_speed` (String)
+- `role` (String)
+- `state` (String)
+- `type` (String)
diff --git a/docs/resources/metal_device.md b/docs/resources/metal_device.md
index e5dfeac50..0e3b36d9a 100644
--- a/docs/resources/metal_device.md
+++ b/docs/resources/metal_device.md
@@ -1,277 +1,129 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_device Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_device (Resource)
-Provides an Equinix Metal device resource. This can be used to create, modify, and delete devices.
-
-~> **NOTE:** All arguments including the `root_password` and `user_data` will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://developer.hashicorp.com/terraform/language/state/sensitive-data).
-
-## Example Usage
-
-Create a device and add it to cool_project
-
-```terraform
-resource "equinix_metal_device" "web1" {
- hostname = "tf.coreos2"
- plan = "c3.small.x86"
- metro = "sv"
- operating_system = "ubuntu_20_04"
- billing_cycle = "hourly"
- project_id = local.project_id
-}
-```
-
-Same as above, but boot via iPXE initially, using the Ignition Provider for provisioning
-
-```terraform
-resource "equinix_metal_device" "pxe1" {
- hostname = "tf.coreos2-pxe"
- plan = "c3.small.x86"
- metro = "sv"
- operating_system = "custom_ipxe"
- billing_cycle = "hourly"
- project_id = local.project_id
- ipxe_script_url = "https://rawgit.com/cloudnativelabs/pxe/master/packet/coreos-stable-metal.ipxe"
- always_pxe = "false"
- user_data = data.ignition_config.example.rendered
-}
-```
-
-Create a device without a public IP address in metro ny, with only a /30 private IPv4 subnet (4 IP addresses)
-
-```terraform
-resource "equinix_metal_device" "web1" {
- hostname = "tf.coreos2"
- plan = "c3.small.x86"
- metro = "ny"
- operating_system = "ubuntu_20_04"
- billing_cycle = "hourly"
- project_id = local.project_id
- ip_address {
- type = "private_ipv4"
- cidr = 30
- }
-}
-```
-
-Deploy device on next-available reserved hardware and do custom partitioning.
-
-```terraform
-resource "equinix_metal_device" "web1" {
- hostname = "tftest"
- plan = "c3.small.x86"
- metro = "ny"
- operating_system = "ubuntu_20_04"
- billing_cycle = "hourly"
- project_id = local.project_id
- hardware_reservation_id = "next-available"
- storage = < **NOTE:** Elastic addresses stack by type. An assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list).
-Each element in the `network` list exports:
-
-* `address` - IPv4 or IPv6 address string.
-* `cidr` - Bit length of the network mask of the address.
-* `gateway` - Address of router.
-* `public` - Whether the address is routable from the Internet.
-* `family` - IP version. One of `4`, `6`.
-### Ports Attribute
-Each element in the `ports` list exports:
+
+## Schema
-* `name` - Name of the port (e.g. `eth0`, or `bond0`).
-* `id` - ID of the port.
-* `type` - Type of the port (e.g. `NetworkPort` or `NetworkBondPort`).
-* `mac` - MAC address assigned to the port.
-* `bonded` - Whether this port is part of a bond in bonded network setup.
+### Required
-## Import
+- `operating_system` (String) The operating system slug. To find the slug, or visit [Operating Systems API docs](https://metal.equinix.com/developers/api/operatingsystems), set your API auth token in the top of the page and see JSON from the API response. By default, changing this attribute will cause your device to be deleted and recreated. If `reinstall` is enabled, the device will be updated in-place instead of recreated.
+- `plan` (String) The device plan slug. To find the plan slug, visit [Device plans API docs](https://metal.equinix.com/developers/api/plans), set your auth token in the top of the page and see JSON from the API response
+- `project_id` (String) The ID of the project in which to create the device
-This resource can be imported using an existing device ID:
+### Optional
-```sh
-terraform import equinix_metal_device {existing_device_id}
-```
+- `always_pxe` (Boolean) If true, a device with OS custom_ipxe will
+- `behavior` (Block List, Max: 1) (see [below for nested schema](#nestedblock--behavior))
+- `billing_cycle` (String) monthly or hourly
+- `custom_data` (String, Sensitive) A string of the desired Custom Data for the device. By default, changing this attribute will cause the provider to destroy and recreate your device. If `reinstall` is specified or `behavior.allow_changes` includes `"custom_data"`, the device will be updated in-place instead of recreated.
+- `description` (String) Description string for the device
+- `facilities` (List of String, Deprecated) List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or any (a wildcard). To find the facility code, visit [Facilities API docs](https://metal.equinix.com/developers/api/facilities/), set your API auth token in the top of the page and see JSON from the API response. Conflicts with metro
+- `force_detach_volumes` (Boolean) Delete device even if it has volumes attached. Only applies for destroy action
+- `hardware_reservation_id` (String) The UUID of the hardware reservation where you want this device deployed, or next-available if you want to pick your next available reservation automatically
+- `hostname` (String) The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
+- `ip_address` (Block List) A list of IP address types for the device (structure is documented below) (see [below for nested schema](#nestedblock--ip_address))
+- `ipxe_script_url` (String) URL pointing to a hosted iPXE script. More
+- `locked` (Boolean) Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
+- `metro` (String) Metro area for the new device. Conflicts with facilities
+- `project_ssh_key_ids` (List of String) Array of IDs of the project SSH keys which should be added to the device. If you specify this array, only the listed project SSH keys (and any SSH keys for the users specified in user_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the [equinix_metal_project_ssh_key](equinix_metal_project_ssh_key.md) resource
+- `reinstall` (Block List, Max: 1) (see [below for nested schema](#nestedblock--reinstall))
+- `storage` (String) JSON for custom partitioning. Only usable on reserved hardware. More information in in the [Custom Partitioning and RAID](https://metal.equinix.com/developers/docs/servers/custom-partitioning-raid/) doc
+- `tags` (List of String) Tags attached to the device
+- `termination_time` (String) Timestamp for device termination. For example "2021-09-03T16:32:00+03:00". If you don't supply timezone info, timestamp is assumed to be in UTC.
+- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
+- `user_data` (String, Sensitive) A string of the desired User Data for the device. By default, changing this attribute will cause the provider to destroy and recreate your device. If `reinstall` is specified or `behavior.allow_changes` includes `"user_data"`, the device will be updated in-place instead of recreated.
+- `user_ssh_key_ids` (List of String) Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in project_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the [equinix_metal_ssh_key](equinix_metal_ssh_key.md) resource
+- `wait_for_reservation_deprovision` (Boolean) Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019)
+
+### Read-Only
+
+- `access_private_ipv4` (String) The ipv4 private IP assigned to the device
+- `access_public_ipv4` (String) The ipv4 maintenance IP assigned to the device
+- `access_public_ipv6` (String) The ipv6 maintenance IP assigned to the device
+- `created` (String) The timestamp for when the device was created
+- `deployed_facility` (String, Deprecated) The facility where the device is deployed
+- `deployed_hardware_reservation_id` (String) ID of hardware reservation where this device was deployed. It is useful when using the next-available hardware reservation
+- `id` (String) The ID of this resource.
+- `network` (List of Object) The device's private and public IP (v4 and v6) network details. When a device is run without any special network configuration, it will have 3 addresses: public ipv4, private ipv4 and ipv6 (see [below for nested schema](#nestedatt--network))
+- `network_type` (String, Deprecated) Network type of a device, used in [Layer 2 networking](https://metal.equinix.com/developers/docs/networking/layer2/). Will be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded
+- `ports` (List of Object) Ports assigned to the device (see [below for nested schema](#nestedatt--ports))
+- `root_password` (String, Sensitive) Root password to the server (disabled after 24 hours)
+- `sos_hostname` (String) The hostname to use for [Serial over SSH](https://deploy.equinix.com/developers/docs/metal/resilience-recovery/serial-over-ssh/) access to the device
+- `ssh_key_ids` (List of String) List of IDs of SSH keys deployed in the device, can be both user and project SSH keys
+- `state` (String) The status of the device
+- `updated` (String) The timestamp for the last time the device was updated
+
+
+### Nested Schema for `behavior`
+
+Optional:
+
+- `allow_changes` (List of String) List of attributes that are allowed to change without recreating the instance. Supported attributes: `custom_data`, `user_data`
+
+
+
+### Nested Schema for `ip_address`
+
+Required:
+
+- `type` (String) one of public_ipv4,private_ipv4,public_ipv6
+
+Optional:
+
+- `cidr` (Number) CIDR suffix for IP block assigned to this device
+- `reservation_ids` (List of String) IDs of reservations to pick the blocks from
+
+
+
+### Nested Schema for `reinstall`
+
+Optional:
+
+- `deprovision_fast` (Boolean) Whether the OS disk should be filled with `00h` bytes before reinstall
+- `enabled` (Boolean) Whether the device should be reinstalled instead of destroyed
+- `preserve_data` (Boolean) Whether the non-OS disks should be kept or wiped during reinstall
+
+
+
+### Nested Schema for `timeouts`
+
+Optional:
+
+- `create` (String)
+- `delete` (String)
+- `update` (String)
+
+
+
+### Nested Schema for `network`
+
+Read-Only:
+
+- `address` (String)
+- `cidr` (Number)
+- `family` (Number)
+- `gateway` (String)
+- `public` (Boolean)
+
+
+
+### Nested Schema for `ports`
+
+Read-Only:
+
+- `bonded` (Boolean)
+- `id` (String)
+- `mac` (String)
+- `name` (String)
+- `type` (String)
diff --git a/docs/resources/metal_device_network_type.md b/docs/resources/metal_device_network_type.md
index 340c3d2db..2516acd14 100644
--- a/docs/resources/metal_device_network_type.md
+++ b/docs/resources/metal_device_network_type.md
@@ -1,39 +1,25 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_device_network_type Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_device_network_type (Resource)
-This resource controls network type of Equinix Metal devices.
-To learn more about Layer 2 networking in Equinix Metal, refer to
-* https://metal.equinix.com/developers/docs/networking/layer2/
-* https://metal.equinix.com/developers/docs/networking/layer2-configs/
-If you are attaching VLAN to a device (i.e. using equinix_metal_port_vlan_attachment), link the device ID from this resource, in order to make the port attachment implicitly dependent on the state of the network type. If you link the device ID from the equinix_metal_device resource, Terraform will not wait for the network type change. See examples in [equinix_metal_port_vlan_attachment](port_vlan_attachment).
-## Example Usage
+
+## Schema
--> **NOTE:** This resource takes a named network type with any mode required parameters and converts a device to the named network type. This resource simulated the network type interface for Devices in the Equinix Metal Portal. That interface changed when additional network types were introduced with more diverse port configurations and it is not guaranteed to work in devices with more than two ethernet ports. See the [Network Types Guide](../guides/network_types.md) for examples of this resource and to learn about the recommended `equinix_metal_port` alternative.
+### Required
-## Import
+- `device_id` (String) The ID of the device on which the network type should be set
+- `type` (String) Network type to set. Must be one of layer3, hybrid, hybrid-bonded, layer2-individual, layer2-bonded
-This resource can also be imported using existing device ID:
+### Read-Only
-```sh
-terraform import equinix_metal_device_network_type {existing device_id}
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `device_id` - (Required) The ID of the device on which the network type should be set.
-* `type` - (Required) Network type to set. Must be one of `layer3`, `hybrid`, `hybrid-bonded`, `layer2-individual` and `layer2-bonded`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - ID of the controlled device. Use this in linked resources, if you need to wait for the network type change. It is the same as `device_id`.
+- `id` (String) The ID of this resource.
diff --git a/docs/resources/metal_gateway.md b/docs/resources/metal_gateway.md
index 868be8ecf..c6e440ad4 100644
--- a/docs/resources/metal_gateway.md
+++ b/docs/resources/metal_gateway.md
@@ -1,71 +1,40 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_gateway Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_gateway (Resource)
-Use this resource to create Metal Gateway resources in Equinix Metal.
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-## Example Usage
-```terraform
-# Create Metal Gateway for a VLAN with a private IPv4 block with 8 IP addresses
-resource "equinix_metal_vlan" "test" {
- description = "test VLAN in SV"
- metro = "sv"
- project_id = local.project_id
-}
+
+## Schema
-resource "equinix_metal_gateway" "test" {
- project_id = local.project_id
- vlan_id = equinix_metal_vlan.test.id
- private_ipv4_subnet_size = 8
-}
-```
+### Required
-```terraform
-# Create Metal Gateway for a VLAN and reserved IP address block
+- `project_id` (String) UUID of the Project where the Gateway is scoped to
+- `vlan_id` (String) UUID of the VLAN to associate
-resource "equinix_metal_vlan" "test" {
- description = "test VLAN in SV"
- metro = "sv"
- project_id = local.project_id
-}
+### Optional
-resource "equinix_metal_reserved_ip_block" "test" {
- project_id = local.project_id
- metro = "sv"
- quantity = 8
-}
+- `ip_reservation_id` (String) UUID of the Public or VRF IP Reservation to associate
+- `private_ipv4_subnet_size` (Number) Size of the private IPv4 subnet to create for this gateway
+- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
-resource "equinix_metal_gateway" "test" {
- project_id = local.project_id
- vlan_id = equinix_metal_vlan.test.id
- ip_reservation_id = equinix_metal_reserved_ip_block.test.id
-}
-```
+### Read-Only
-## Argument Reference
+- `id` (String) The unique identifier for this Metal Gateway
+- `state` (String) Status of the gateway resource
+- `vrf_id` (String) UUID of the VRF associated with the IP Reservation
-The following arguments are supported:
+
+### Nested Schema for `timeouts`
-* `project_id` - (Required) UUID of the project where the gateway is scoped to.
-* `vlan_id` - (Required) UUID of the VLAN where the gateway is scoped to.
-* `ip_reservation_id` - (Optional) UUID of Public or VRF IP Reservation to associate with the gateway, the reservation must be in the same metro as the VLAN, conflicts with `private_ipv4_subnet_size`.
-* `private_ipv4_subnet_size` - (Optional) Size of the private IPv4 subnet to create for this metal gateway, must be one of `8`, `16`, `32`, `64`, `128`. Conflicts with `ip_reservation_id`.
+Optional:
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `state` - Status of the gateway resource.
-* `vrf_id` - UUID of the VRF associated with the IP Reservation
-
-## Timeouts
-
-[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts):
-
-* `delete` - (Default `20m`)
+- `delete` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
diff --git a/docs/resources/metal_ip_attachment.md b/docs/resources/metal_ip_attachment.md
index 81ebe1aad..ece26e726 100644
--- a/docs/resources/metal_ip_attachment.md
+++ b/docs/resources/metal_ip_attachment.md
@@ -1,52 +1,36 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_ip_attachment Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_ip_attachment (Resource)
-Provides a resource to attach elastic IP subnets to devices.
-To attach an IP subnet from a reserved block to a provisioned device, you must derive a subnet CIDR belonging to one of your reserved blocks in the same project and metro as the target device.
-For example, you have reserved IPv4 address block `147.229.10.152/30`, you can choose to assign either the whole block as one subnet to a device; or 2 subnets with CIDRs `147.229.10.152/31` and `147.229.10.154/31`; or 4 subnets with mask prefix length `32`. More about the elastic IP subnets is [here](https://metal.equinix.com/developers/docs/networking/elastic-ips/).
-Device and reserved block must be in the same metro.
-## Example Usage
+
+## Schema
-```terraform
-# Reserve /30 block of max 2 public IPv4 addresses in metro ny for myproject
-resource "equinix_metal_reserved_ip_block" "myblock" {
- project_id = local.project_id
- metro = "ny"
- quantity = 2
-}
+### Required
-# Assign /32 subnet (single address) from reserved block to a device
-resource "equinix_metal_ip_attachment" "first_address_assignment" {
- device_id = equinix_metal_device.mydevice.id
- # following expression will result to sth like "147.229.10.152/32"
- cidr_notation = join("/", [cidrhost(metal_reserved_ip_block.myblock.cidr_notation, 0), "32"])
-}
-```
+- `cidr_notation` (String)
+- `device_id` (String)
-## Argument Reference
+### Read-Only
-The following arguments are supported:
-
-* `device_id` - (Required) ID of device to which to assign the subnet.
-* `cidr_notation` - (Required) CIDR notation of subnet from block reserved in the same project and metro as the device.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the assignment.
-* `device_id` - ID of device to which subnet is assigned.
-* `cidr_notation` - Assigned subnet in CIDR notation, e.g., `147.229.15.30/31`
-* `gateway` - IP address of gateway for the subnet.
-* `network` - Subnet network address.
-* `netmask` - Subnet mask in decimal notation, e.g., `255.255.255.0`.
-* `cidr` - Length of CIDR prefix of the subnet as integer.
-* `address_family` - Address family as integer. One of `4` or `6`.
-* `public` - Boolean flag whether subnet is reachable from the Internet.
+- `address` (String)
+- `address_family` (Number) Address family as integer (4 or 6)
+- `cidr` (Number) Length of CIDR prefix of the block as integer
+- `gateway` (String)
+- `global` (Boolean) Flag indicating whether IP block is global, i.e. assignable in any location
+- `id` (String) The ID of this resource.
+- `manageable` (Boolean)
+- `management` (Boolean)
+- `netmask` (String) Mask in decimal notation, e.g. 255.255.255.0
+- `network` (String) Network IP address portion of the block specification
+- `public` (Boolean) Flag indicating whether IP block is addressable from the Internet
+- `vrf_id` (String)
diff --git a/docs/resources/metal_organization.md b/docs/resources/metal_organization.md
index ebf4adcd4..328e31aa0 100644
--- a/docs/resources/metal_organization.md
+++ b/docs/resources/metal_organization.md
@@ -1,54 +1,48 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_organization Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_organization (Resource)
-Provides a resource to manage organization resource in Equinix Metal.
-## Example Usage
-```terraform
-# Create a new Organization
-resource "equinix_metal_organization" "tf_organization_1" {
- name = "foobar"
- description = "quux"
-}
-```
-## Argument Reference
-The following arguments are supported:
+
+## Schema
-* `name` - (Required) The name of the Organization.
-* `address` - (Required) An object that has the address information. See [Address](#address) below for more details.
-* `description` - (Optional) Description string.
-* `website` - (Optional) Website link.
-* `twitter` - (Optional) Twitter handle.
-* `logo` - (Optional) Logo URL.
+### Required
-### Address
+- `name` (String) The name of the Organization
-The `address` block contains:
+### Optional
-* `address` - (Required) Postal address.
-* `city` - (Required) City name.
-* `country` - (Required) Two letter country code (ISO 3166-1 alpha-2), e.g. US.
-* `zip_code` - (Required) Zip Code.
-* `state` - (Optional) State name.
+- `address` (Block List) Address information block (see [below for nested schema](#nestedblock--address))
+- `description` (String) Description string
+- `logo` (String) Logo URL
+- `twitter` (String) Twitter handle
+- `website` (String) Website link
-## Attributes Reference
+### Read-Only
-In addition to all arguments above, the following attributes are exported:
+- `created` (String)
+- `id` (String) The unique identifier of the resource
+- `updated` (String)
-* `id` - The unique ID of the organization.
-* `created` - The timestamp for when the organization was created.
-* `updated` - The timestamp for the last time the organization was updated.
+
+### Nested Schema for `address`
-## Import
+Required:
-This resource can be imported using an existing organization ID:
+- `address` (String) Postal address
+- `city` (String) City name
+- `country` (String) Two letter country code (ISO 3166-1 alpha-2), e.g. US
+- `zip_code` (String) Zip Code
-```sh
-terraform import equinix_metal_organization {existing_organization_id}
-```
+Optional:
+
+- `state` (String) State name
diff --git a/docs/resources/metal_organization_member.md b/docs/resources/metal_organization_member.md
index 8094c78bf..d1a5f597a 100644
--- a/docs/resources/metal_organization_member.md
+++ b/docs/resources/metal_organization_member.md
@@ -1,60 +1,36 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_organization_member Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_organization_member (Resource)
-Manage the membership of existing and new invitees within an Equinix Metal organization and its projects.
-## Example Usage
-Add a member to an organization to collaborate on given projects:
-```terraform
-resource "equinix_metal_organization_member" "member" {
- invitee = "member@example.com"
- roles = ["limited_collaborator"]
- projects_ids = [var.project_id]
- organization_id = var.organization_id
-}
-```
-Add a member to an organization as an organization administrator:
+
+## Schema
-```terraform
-resource "equinix_metal_organization_member" "owner" {
- invitee = "admin@example.com"
- roles = ["owner"]
- projects_ids = []
- organization_id = var.organization_id
-}
-```
+### Required
-## Argument Reference
+- `invitee` (String) The email address of the user to invite
+- `organization_id` (String) The organization to invite the user to
+- `projects_ids` (Set of String) Project IDs the member has access to within the organization. If the member is an 'owner', the projects list should be empty.
+- `roles` (Set of String) Organization roles (owner, collaborator, limited_collaborator, billing)
-The following arguments are supported:
+### Optional
-* `invitee` - (Required) The email address of the user to invite
-* `organization_id` - (Required) The organization to invite the user to
-* `projects_ids` - (Required) Project IDs the member has access to within the organization. If the member is an 'admin', the projects list should be empty.
-* `roles` - (Required) Organization roles (admin, collaborator, limited_collaborator, billing)
-* `message` - A message to include in the emailed invitation.
+- `message` (String) A message to the invitee (only used during the invitation stage)
-## Attribute Reference
+### Read-Only
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the membership.
-* `nonce` - The nonce for the invitation (only known in the invitation stage)
-* `invited_by` - The user_id of the user that sent the invitation (only known in the invitation stage)
-* `created` - When the invitation was created (only known in the invitation stage)
-* `updated` - When the invitation was updated (only known in the invitation stage)
-* `state` - The state of the membership ('invited' when an invitation is open, 'active' when the user is an organization member)
-
-## Import
-
-This resource can be imported using the `invitee` and `organization_id` as colon separated arguments:
-
-```sh
-terraform import equinix_metal_organization_member.resource_name {invitee}:{organization_id}
-```
+- `created` (String) When the invitation was created (only known in the invitation stage)
+- `id` (String) The unique identifier for the organization member.
+- `invited_by` (String) The user id of the user that sent the invitation (only known in the invitation stage)
+- `nonce` (String) The nonce for the invitation (only known in the invitation stage)
+- `state` (String) The state of the membership ('invited' when an invitation is open, 'active' when the user is an organization member)
+- `updated` (String) When the invitation was updated (only known in the invitation stage)
diff --git a/docs/resources/metal_port.md b/docs/resources/metal_port.md
index 37690d0a7..41e911493 100644
--- a/docs/resources/metal_port.md
+++ b/docs/resources/metal_port.md
@@ -1,47 +1,50 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_port Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_port (Resource)
-Use this resource to configure network ports on an Equinix Metal device. This resource can control both physical and bond ports.
-This Terraform resource doesn't create an API resource in Equinix Metal, but rather provides finer control for [Layer 2 networking](https://metal.equinix.com/developers/docs/layer2-networking/).
-The port resource referred is created together with device and accessible either via the device resource or over `/port/` API path.
--> To achieve the network configurations available in the portal it may require the creation and combination of various `equinix_metal_port` resources. See the [Network Types Guide](../guides/network_types.md) for examples of this resource.
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Required
-* `port_id` - (Required) ID of the port to read.
-* `bonded` - (Required) Whether the port should be bonded.
-* `layer2` - (Optional) Whether to put the port to Layer 2 mode, valid only for bond ports.
-* `vlan_ids` - (Optional) List of VLAN UUIDs to attach to the port, valid only for L2 and Hybrid ports.
-* `vxlan_ids` - (Optional) List of VXLAN IDs to attach to the port, valid only for L2 and Hybrid ports.
-* `native_vlan_id` - (Optional) UUID of a VLAN to assign as a native VLAN. It must be one of attached VLANs (from `vlan_ids` parameter).
-* `reset_on_delete` - (Optional) Behavioral setting to reset the port to default settings (layer3 bonded mode without any vlan attached) before delete/destroy.
+- `bonded` (Boolean) Flag indicating whether the port should be bonded
+- `port_id` (String) UUID of the port to lookup
-### Timeouts
+### Optional
-The `timeouts` block allows you to specify [timeouts](https://www.terraform.io/configuration/resources#operation-timeouts) for certain actions:
+- `layer2` (Boolean) Flag indicating whether the port is in layer2 (or layer3) mode. The `layer2` flag can be set only for bond ports.
+- `native_vlan_id` (String) UUID of native VLAN of the port
+- `reset_on_delete` (Boolean) Behavioral setting to reset the port to default settings (layer3 bonded mode without any vlan attached) before delete/destroy
+- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
+- `vlan_ids` (Set of String) UUIDs VLANs to attach. To avoid jitter, use the UUID and not the VXLAN
+- `vxlan_ids` (Set of Number) VLAN VXLAN ids to attach (example: [1000])
-These timeout includes the time to disbond, convert to L2/L3, bond and update native vLAN.
+### Read-Only
-* `create` - (Defaults to 30 mins) Used when creating the Port.
-* `update` - (Defaults to 30 mins) Used when updating the Port.
-* `delete` - (Defaults to 30 mins) Used when deleting the Port.
+- `bond_id` (String) UUID of the bond port
+- `bond_name` (String) Name of the bond port
+- `disbond_supported` (Boolean) Flag indicating whether the port can be removed from a bond
+- `id` (String) The ID of this resource.
+- `mac` (String) MAC address of the port
+- `name` (String) Name of the port to look up, e.g. bond0, eth1
+- `network_type` (String) One of layer2-bonded, layer2-individual, layer3, hybrid and hybrid-bonded. This attribute is only set on bond ports.
+- `type` (String) Port type
-## Attributes Reference
+
+### Nested Schema for `timeouts`
-In addition to all arguments above, the following attributes are exported:
+Optional:
-* `name` - Name of the port, e.g. `bond0` or `eth0`.
-* `network_type` - One of layer2-bonded, layer2-individual, layer3, hybrid and hybrid-bonded. This attribute is only set on bond ports.
-* `type` - Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports.
-* `mac` - MAC address of the port.
-* `bond_id` - UUID of the bond port.
-* `bond_name` - Name of the bond port.
-* `disbond_supported` - Flag indicating whether the port can be removed from a bond.
+- `create` (String)
+- `delete` (String)
+- `update` (String)
diff --git a/docs/resources/metal_port_vlan_attachment.md b/docs/resources/metal_port_vlan_attachment.md
index 7b9330cc5..fc1d616f4 100644
--- a/docs/resources/metal_port_vlan_attachment.md
+++ b/docs/resources/metal_port_vlan_attachment.md
@@ -1,110 +1,33 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_port_vlan_attachment Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_port_vlan_attachment (Resource)
-Provides a resource to attach device ports to VLANs.
-Device and VLAN must be in the same metro.
-If you need this resource to add the port back to bond on removal, set `force_bond = true`.
-To learn more about Layer 2 networking in Equinix Metal, refer to
-* https://metal.equinix.com/developers/docs/networking/layer2/
-* https://metal.equinix.com/developers/docs/networking/layer2-configs/
+
+## Schema
-## Example Usage
+### Required
-### Hybrid network type
+- `device_id` (String) ID of device to be assigned to the VLAN
+- `port_name` (String) Name of network port to be assigned to the VLAN
+- `vlan_vnid` (Number) VXLAN Network Identifier, integer
-```terraform
-resource "equinix_metal_vlan" "test" {
- description = "VLAN in New York"
- metro = "ny"
- project_id = local.project_id
-}
+### Optional
-resource "equinix_metal_device" "test" {
- hostname = "test"
- plan = "c3.small.x86"
- metro = "ny"
- operating_system = "ubuntu_20_04"
- billing_cycle = "hourly"
- project_id = local.project_id
-}
+- `force_bond` (Boolean) Add port back to the bond when this resource is removed. Default is false
+- `native` (Boolean) Mark this VLAN a native VLAN on the port. This can be used only if this assignment assigns second or further VLAN to the port. To ensure that this attachment is not first on a port, you can use depends_on pointing to another equinix_metal_port_vlan_attachment, just like in the layer2-individual example above
-resource "equinix_metal_device_network_type" "test" {
- device_id = equinix_metal_device.test.id
- type = "hybrid"
-}
+### Read-Only
-resource "equinix_metal_port_vlan_attachment" "test" {
- device_id = equinix_metal_device_network_type.test.id
- port_name = "eth1"
- vlan_vnid = equinix_metal_vlan.test.vxlan
-}
-```
-
-### Layer 2 network
-
-```terraform
-resource "equinix_metal_device" "test" {
- hostname = "test"
- plan = "c3.small.x86"
- metro = "ny"
- operating_system = "ubuntu_20_04"
- billing_cycle = "hourly"
- project_id = local.project_id
-}
-
-resource "equinix_metal_device_network_type" "test" {
- device_id = equinix_metal_device.test.id
- type = "layer2-individual"
-}
-
-resource "equinix_metal_vlan" "test1" {
- description = "VLAN in New York"
- metro = "ny"
- project_id = local.project_id
-}
-
-resource "equinix_metal_vlan" "test2" {
- description = "VLAN in New Jersey"
- metro = "ny"
- project_id = local.project_id
-}
-
-resource "equinix_metal_port_vlan_attachment" "test1" {
- device_id = equinix_metal_device_network_type.test.id
- vlan_vnid = equinix_metal_vlan.test1.vxlan
- port_name = "eth1"
-}
-
-resource "equinix_metal_port_vlan_attachment" "test2" {
- device_id = equinix_metal_device_network_type.test.id
- vlan_vnid = equinix_metal_vlan.test2.vxlan
- port_name = "eth1"
- native = true
- depends_on = ["equinix_metal_port_vlan_attachment.test1"]
-}
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `device_id` - (Required) ID of device to be assigned to the VLAN.
-* `port_name` - (Required) Name of network port to be assigned to the VLAN.
-* `vlan_vnid` - (Required) VXLAN Network Identifier.
-* `force_bond` - (Optional) Add port back to the bond when this resource is removed. Default is `false`.
-* `native` - (Optional) Mark this VLAN a native VLAN on the port. This can be used only if this assignment assigns second or further VLAN to the port. To ensure that this attachment is not first on a port, you can use `depends_on` pointing to another `equinix_metal_port_vlan_attachment`, just like in the layer2-individual example above.
-
-## Attribute Referece
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - UUID of device port used in the assignment.
-* `vlan_id` - UUID of VLAN API resource.
-* `port_id` - UUID of device port.
+- `id` (String) The ID of this resource.
+- `port_id` (String) UUID of device port
+- `vlan_id` (String) UUID of VLAN API resource
diff --git a/docs/resources/metal_project.md b/docs/resources/metal_project.md
index 2eaec8263..a45133aaa 100644
--- a/docs/resources/metal_project.md
+++ b/docs/resources/metal_project.md
@@ -1,97 +1,50 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_project Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_project (Resource)
-Provides an Equinix Metal project resource to allow you manage devices in your projects.
--> **NOTE:** Keep in mind that Equinix Metal invoicing is per project, so creating many `equinix_metal_project` resources will affect the rendered invoice. If you want to keep your Equinix Metal bill simple and easy to review, please re-use your existing projects.
-## Example Usage
-### Create a new project
-```terraform
-resource "equinix_metal_project" "tf_project_1" {
- name = "Terraform Fun"
-}
-```
+
+## Schema
-### Example with BGP config
+### Required
-```terraform
-# Create a new Project
-resource "equinix_metal_project" "tf_project_1" {
- name = "tftest"
- bgp_config {
- deployment_type = "local"
- md5 = "C179c28c41a85b"
- asn = 65000
- }
-}
-```
+- `name` (String) The name of the project. The maximum length is 80 characters
-### Enabling BGP in an existing project
+### Optional
-If you want to enable BGP in an existing Equinix Metal project, you should first create a resource in your TF config for the existing projects. Set your BGP configuration.
+- `backend_transfer` (Boolean) Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is false
+- `bgp_config` (Block List) Address information block (see [below for nested schema](#nestedblock--bgp_config))
+- `organization_id` (String) The UUID of organization under which the project is created
+- `payment_method_id` (String) The UUID of payment method for this project. The payment method and the project need to belong to the same organization (passed with organization_id, or default)
-```terraform
-resource "equinix_metal_project" "existing_project" {
- name = "The name of the project (if different, will rewrite)"
- bgp_config {
- deployment_type = "local"
- md5 = "C179c28c41a85b"
- asn = 65000
- }
-}
-```
+### Read-Only
-Then, find out the UUID of the existing project, and import it to your TF state.
+- `created` (String) The timestamp for when the project was created
+- `id` (String) The unique identifier of the resource
+- `updated` (String) The timestamp for the last time the project was updated
-```sh
-terraform import equinix_metal_project.existing_project e188d7db-46a7-46cb-8969-e63ec22695d5
-```
+
+### Nested Schema for `bgp_config`
-Your existing project is now loaded in your local TF state, and linked to the resource with given name.
+Required:
-After running `terraform apply`, the project will be updated with configuration provided in the TF template.
+- `asn` (Number) Autonomous System Number for local BGP deployment
+- `deployment_type` (String) The BGP deployment type, either 'local' or 'global'. The local is likely to be usable immediately, the global will need to be review by Equinix Metal engineers
-## Argument Reference
+Optional:
-The following arguments are supported:
+- `md5` (String, Sensitive) Password for BGP session in plaintext (not a checksum)
-* `name` - (Required) The name of the project. The maximum length is 80 characters
-* `organization_id` - (Required) The UUID of organization under which you want to create the project. If you leave it out, the project will be created under your the default organization of your account.
-* `payment_method_id` - The UUID of payment method for this project. The payment method and the project need to belong to the same organization (passed with `organization_id`, or default).
-* `backend_transfer` - Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is `false`.
-* `bgp_config` - Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-global-bgp/).
+Read-Only:
--> **NOTE:** Once you set the BGP config in a project, it can't be removed (due to a limitation in the Equinix Metal API). It can be updated.
-
-The `bgp_config` block supports:
-
-* `asn` - (Required) Autonomous System Number for local BGP deployment.
-* `deployment_type` - (Required) `local` or `global`, the `local` is likely to be usable immediately, the `global` will need to be reviewed by Equinix Metal engineers.
-* `md5` - (Optional) Password for BGP session in plaintext (not a checksum).
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the project.
-* `created` - The timestamp for when the project was created.
-* `updated` - The timestamp for the last time the project was updated.
-
-The `bgp_config` block additionally exports:
-
-* `status` - status of BGP configuration in the project.
-* `max_prefix` - The maximum number of route filters allowed per server.
-
-## Import
-
-This resource can be imported using an existing project ID:
-
-```sh
-terraform import equinix_metal_project {existing_project_id}
-```
+- `max_prefix` (Number) The maximum number of route filters allowed per server
+- `status` (String) Status of BGP configuration in the project
diff --git a/docs/resources/metal_project_api_key.md b/docs/resources/metal_project_api_key.md
index 8ce968b92..a5e3e03a0 100644
--- a/docs/resources/metal_project_api_key.md
+++ b/docs/resources/metal_project_api_key.md
@@ -1,34 +1,27 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_project_api_key Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_project_api_key (Resource)
-Use this resource to create Metal Project API Key resources in Equinix Metal. Project API keys can be used to create and read resources in a single project. Each API key contains a token which can be used for authentication in Equinix Metal HTTP API (in HTTP request header `X-Auth-Token`).
-Read-only keys only allow to list and view existing resources, read-write keys can also be used to create resources.
-## Example Usage
-```terraform
-# Create a new read-only API key in existing project
-resource "equinix_metal_project_api_key" "test" {
- project_id = local.existing_project_id
- description = "Read-only key scoped to a projct"
- read_only = true
-}
-```
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Required
-* `project_id` - (Required) UUID of the project where the API key is scoped to.
-* `description` - (Required) Description string for the Project API Key resource.
-* `read-only` - (Optional) Flag indicating whether the API key shoud be read-only.
+- `description` (String) Description string for the API key
+- `project_id` (String) UUID of project which the new API key is scoped to
+- `read_only` (Boolean) Flag indicating whether the API key shoud be read-only
-## Attributes Reference
+### Read-Only
-In addition to all arguments above, the following attributes are exported:
-
-* `token` - API token which can be used in Equinix Metal API clients
+- `id` (String) The ID of this resource.
+- `token` (String, Sensitive) API token for API clients
diff --git a/docs/resources/metal_project_ssh_key.md b/docs/resources/metal_project_ssh_key.md
index a931df931..7f7515e6b 100644
--- a/docs/resources/metal_project_ssh_key.md
+++ b/docs/resources/metal_project_ssh_key.md
@@ -1,50 +1,30 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_project_ssh_key Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_project_ssh_key (Resource)
-Provides an Equinix Metal project SSH key resource to manage project-specific SSH keys. Project SSH keys will only be populated onto servers that belong to that project, in contrast to User SSH Keys.
-## Example Usage
-```terraform
-locals {
- project_id = ""
-}
-resource "equinix_metal_project_ssh_key" "test" {
- name = "test"
- public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDM/unxJeFqxsTJcu6mhqsMHSaVlpu+Jj/P+44zrm6X/MAoHSX3X9oLgujEjjZ74yLfdfe0bJrbL2YgJzNaEkIQQ1VPMHB5EhTKUBGnzlPP0hHTnxsjAm9qDHgUPgvgFDQSAMzdJRJ0Cexo16Ph9VxCoLh3dxiE7s2gaM2FdVg7P8aSxKypsxAhYV3D0AwqzoOyT6WWhBoQ0xZ85XevOTnJCpImSemEGs6nVGEsWcEc1d1YvdxFjAK4SdsKUMkj4Dsy/leKsdi/DEAf356vbMT1UHsXXvy5TlHu/Pa6qF53v32Enz+nhKy7/8W2Yt2yWx8HnQcT2rug9lvCXagJO6oauqRTO77C4QZn13ZLMZgLT66S/tNh2EX0gi6vmIs5dth8uF+K6nxIyKJXbcA4ASg7F1OJrHKFZdTc5v1cPeq6PcbqGgc+8SrPYQmzvQqLoMBuxyos2hUkYOmw3aeWJj9nFa8Wu5WaN89mUeOqSkU4S5cgUzWUOmKey56B/j/s1sVys9rMhZapVs0wL4L9GBBM48N5jAQZnnpo85A8KsZq5ME22bTLqnxsDXqDYZvS7PSI6Dxi7eleOFE/NYYDkrgDLHTQri8ucDMVeVWHgoMY2bPXdn7KKy5jW5jKsf8EPARXg77A4gRYmgKrcwIKqJEUPqyxJBe0CPoGTqgXPRsUiQ== tomk@hp2"
- project_id = local.project_id
-}
-resource "equinix_metal_device" "test" {
- hostname = "test"
- plan = "c3.medium.x86"
- metro = "ny"
- operating_system = "ubuntu_20_04"
- billing_cycle = "hourly"
- project_ssh_key_ids = [equinix_metal_project_ssh_key.test.id]
- project_id = local.project_id
-}
-```
+
+## Schema
-## Argument Reference
+### Required
-The following arguments are supported:
+- `name` (String) The name of the SSH key for identification
+- `project_id` (String) The ID of parent project
+- `public_key` (String) The public key
-* `name` - (Required) The name of the SSH key for identification.
-* `public_key` - (Required) The public key. If this is a file, it can be read using the file interpolation function.
-* `project_id` - (Required) The ID of parent project.
+### Read-Only
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the key.
-* `name` - The name of the SSH key.
-* `owner_id` - The ID of parent project (same as project_id).
-* `fingerprint` - The fingerprint of the SSH key.
-* `created` - The timestamp for when the SSH key was created.
-* `updated` - The timestamp for the last time the SSH key was updated.
+- `created` (String) The timestamp for when the SSH key was created
+- `fingerprint` (String) The fingerprint of the SSH key
+- `id` (String) The unique identifier of the resource
+- `owner_id` (String) The UUID of the Equinix Metal API User who owns this key
+- `updated` (String) The timestamp for the last time the SSH key was updated
diff --git a/docs/resources/metal_reserved_ip_block.md b/docs/resources/metal_reserved_ip_block.md
index 0d11544be..04c87aeeb 100644
--- a/docs/resources/metal_reserved_ip_block.md
+++ b/docs/resources/metal_reserved_ip_block.md
@@ -1,121 +1,55 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_reserved_ip_block Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_reserved_ip_block (Resource)
-Provides a resource to create and manage blocks of reserved IP addresses in a project.
-When a user provisions first device in a metro, Equinix Metal API automatically allocates IPv6/56 and private IPv4/25 blocks. The new device then gets IPv6 and private IPv4 addresses from those block. It also gets a public IPv4/31 address. Every new device in the project and metro will automatically get IPv6 and private IPv4 addresses from these pre-allocated blocks. The IPv6 and private IPv4 blocks can't be created, only imported. With this resource, it's possible to create either public IPv4 blocks or global IPv4 blocks.
-Public blocks are allocated in a metro. Addresses from public blocks can only be assigned to devices in the metro. Public blocks can have mask from /24 (256 addresses) to /32 (1 address). If you create public block with this resource, you must fill the metro argument.
-Addresses from global blocks can be assigned in any metro. Global blocks can have mask from /30 (4 addresses), to /32 (1 address). If you create global block with this resource, you must specify type = "global_ipv4" and you must omit the metro argument.
-Once IP block is allocated or imported, an address from it can be assigned to device with the `equinix_metal_ip_attachment` resource.
+
+## Schema
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
+### Required
-## Example Usage
+- `project_id` (String) The metal project ID where to allocate the address block
-Allocate reserved IP blocks:
+### Optional
-```terraform
-# Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv) metro for myproject
+- `cidr` (Number) the size of the network to reserve from an existing vrf ip_range. `cidr` can only be specified with `vrf_id`. Minimum range is 22-29, with 30-31 supported and necessary for virtual-circuits
+- `custom_data` (String) Custom Data is an arbitrary object (submitted in Terraform as serialized JSON) to assign to the IP Reservation. This may be helpful for self-managed IPAM. The object must be valid JSON.
+- `description` (String) Arbitrary description
+- `facility` (String) Facility where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with metro
+- `metro` (String) Metro where to allocate the public IP address block, makes sense only for type==public_ipv4, must be empty for type==global_ipv4, conflicts with facility
+- `network` (String) an unreserved network address from an existing vrf ip_range. `network` can only be specified with vrf_id
+- `quantity` (Number) The number of allocated /32 addresses, a power of 2
+- `tags` (Set of String) Tags attached to the reserved block
+- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
+- `type` (String) Either global_ipv4, public_ipv4, or vrf. Defaults to public_ipv4.
+- `vrf_id` (String) VRF ID for type=vrf reservations
+- `wait_for_state` (String) Wait for the IP reservation block to reach a desired state on resource creation. One of: `pending`, `created`. The `created` state is default and recommended if the addresses are needed within the configuration. An error will be returned if a timeout or the `denied` state is encountered.
-resource "equinix_metal_reserved_ip_block" "two_elastic_addresses" {
- project_id = local.project_id
- metro = "sv"
- quantity = 2
-}
+### Read-Only
-# Allocate 1 floating IP in Silicon Valley (sv) metro
+- `address` (String)
+- `address_family` (Number) Address family as integer (4 or 6)
+- `cidr_notation` (String)
+- `gateway` (String)
+- `global` (Boolean) Flag indicating whether IP block is global, i.e. assignable in any location
+- `id` (String) The ID of this resource.
+- `manageable` (Boolean)
+- `management` (Boolean)
+- `netmask` (String) Mask in decimal notation, e.g. 255.255.255.0
+- `public` (Boolean) Flag indicating whether IP block is addressable from the Internet
-resource "equinix_metal_reserved_ip_block" "test" {
- project_id = local.project_id
- type = "public_ipv4"
- metro = "sv"
- quantity = 1
-}
+
+### Nested Schema for `timeouts`
-# Allocate 1 global floating IP, which can be assigned to device in any metro
+Optional:
-resource "equinix_metal_reserved_ip_block" "test" {
- project_id = local.project_id
- type = "global_ipv4"
- quantity = 1
-}
-```
-
-Allocate a block and run a device with public IPv4 from the block
-
-```terraform
-# Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv) metro
-resource "equinix_metal_reserved_ip_block" "example" {
- project_id = local.project_id
- metro = "sv"
- quantity = 2
-}
-
-# Run a device with both public IPv4 from the block assigned
-
-resource "equinix_metal_device" "nodes" {
- project_id = local.project_id
- metro = "sv"
- plan = "c3.small.x86"
- operating_system = "ubuntu_20_04"
- hostname = "test"
- billing_cycle = "hourly"
-
- ip_address {
- type = "public_ipv4"
- cidr = 31
- reservation_ids = [equinix_metal_reserved_ip_block.example.id]
- }
-
- ip_address {
- type = "private_ipv4"
- }
-}
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `project_id` - (Required) The metal project ID where to allocate the address block.
-* `quantity` - (Optional) The number of allocated `/32` addresses, a power of 2. Required when `type` is not `vrf`.
-* `type` - (Optional) One of `global_ipv4`, `public_ipv4`, or `vrf`. Defaults to `public_ipv4` for backward compatibility.
-* `facility` - (**Deprecated**) Facility where to allocate the public IP address block, makes sense only if type is `public_ipv4` and must be empty if type is `global_ipv4`. Conflicts with `metro`. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `metro` - (Optional) Metro where to allocate the public IP address block, makes sense only if type is `public_ipv4` and must be empty if type is `global_ipv4`. Conflicts with `facility`.
-* `description` - (Optional) Arbitrary description.
-* `tags` - (Optional) String list of tags.
-* `vrf_id` - (Optional) Only valid and required when `type` is `vrf`. VRF ID for type=vrf reservations.
-* `wait_for_state` - (Optional) Wait for the IP reservation block to reach a desired state on resource creation. One of: `pending`, `created`. The `created` state is default and recommended if the addresses are needed within the configuration. An error will be returned if a timeout or the `denied` state is encountered.
-* `custom_data` - (Optional) Custom Data is an arbitrary object (submitted in Terraform as serialized JSON) to assign to the IP Reservation. This may be helpful for self-managed IPAM. The object must be valid JSON.
-* `network` - (Optional) Only valid as an argument and required when `type` is `vrf`. An unreserved network address from an existing `ip_range` in the specified VRF.
-* `cidr` - (Optional) Only valid as an argument and required when `type` is `vrf`. The size of the network to reserve from an existing VRF ip_range. `cidr` can only be specified with `vrf_id`. Range is 22-31. Virtual Circuits require 30-31. Other VRF resources must use a CIDR in the 22-29 range.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the block.
-* `cidr_notation` - Address and mask in CIDR notation, e.g. `147.229.15.30/31`.
-* `network` - Network IP address portion of the block specification.
-* `netmask` - Mask in decimal notation, e.g. `255.255.255.0`.
-* `cidr` - length of CIDR prefix of the block as integer.
-* `address_family` - Address family as integer. One of `4` or `6`.
-* `public` - Boolean flag whether addresses from a block are public.
-* `global` - Boolean flag whether addresses from a block are global (i.e. can be assigned in any metro).
-* `vrf_id` - VRF ID of the block when type=vrf
-
--> **NOTE:** Idempotent reference to a first `/32` address from a reserved block might look like `join("/", [cidrhost(metal_reserved_ip_block.myblock.cidr_notation,0), "32"])`.
-
-## Import
-
-This resource can be imported using an existing IP reservation ID:
-
-```sh
-terraform import equinix_metal_reserved_ip_block {existing_ip_reservation_id}
-```
+- `create` (String)
diff --git a/docs/resources/metal_spot_market_request.md b/docs/resources/metal_spot_market_request.md
index db620bbae..1fea87395 100644
--- a/docs/resources/metal_spot_market_request.md
+++ b/docs/resources/metal_spot_market_request.md
@@ -1,62 +1,72 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_spot_market_request Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_spot_market_request (Resource)
-Provides an Equinix Metal Spot Market Request resource to allow you to manage spot market requests on your account. For more detail on Spot Market, see [this article in Equinix Metal documentation](https://metal.equinix.com/developers/docs/deploy/spot-market/).
-## Example Usage
-```terraform
-# Create a spot market request
-resource "equinix_metal_spot_market_request" "req" {
- project_id = local.project_id
- max_bid_price = 0.03
- metro = "ny"
- devices_min = 1
- devices_max = 1
- instance_parameters {
- hostname = "testspot"
- billing_cycle = "hourly"
- operating_system = "ubuntu_20_04"
- plan = "c3.small.x86"
- }
-}
-```
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Required
-* `devices_max` - (Required) Maximum number devices to be created.
-* `devices_min` - (Required) Miniumum number devices to be created.
-* `max_bid_price` - (Required) Maximum price user is willing to pay per hour per device.
-* `project_id` - (Required) Project ID.
-* `wait_for_devices` - (Optional) On resource creation wait until all desired devices are active. On resource destruction wait until devices are removed.
-* `facilities` - (**Deprecated**) Facility IDs where devices should be created. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `metro` - (Optional) Metro where devices should be created.
-* `locked` - (Optional) Blocks deletion of the SpotMarketRequest device until the lock is disabled.
-* `instance_parameters` - (Required) Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: `billing_cycle`, `plan`, `operating_system`, `hostname`, `termination_time`, `always_pxe`, `description`, `features`, `locked`, `project_ssh_keys`, `user_ssh_keys`, `userdata`, `customdata`, `ipxe_script_url`, `tags`. You can find each parameter description in [equinix_metal_device](equinix_metal_device.md) docs.
+- `devices_max` (Number) Maximum number devices to be created
+- `devices_min` (Number) Miniumum number devices to be created
+- `instance_parameters` (Block List, Min: 1, Max: 1) Parameters for devices provisioned from this request. You can find the parameter description from the [equinix_metal_device doc](device.md) (see [below for nested schema](#nestedblock--instance_parameters))
+- `max_bid_price` (Number) Maximum price user is willing to pay per hour per device
+- `project_id` (String) Project ID
-## Attributes Reference
+### Optional
-In addition to all arguments above, the following attributes are exported:
+- `facilities` (List of String, Deprecated) Facility IDs where devices should be created
+- `metro` (String) Metro where devices should be created
+- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
+- `wait_for_devices` (Boolean) On resource creation - wait until all desired devices are active, on resource destruction - wait until devices are removed
-* `id` - The ID of the Spot Market Request.
+### Read-Only
-### Timeouts
+- `id` (String) The ID of this resource.
-The `timeouts` block allows you to specify [timeouts](https://www.terraform.io/configuration/resources#operation-timeouts) for certain actions:
+
+### Nested Schema for `instance_parameters`
-* `create` - (Defaults to 60 mins) Used when creating the Spot Market Request and `wait_for_devices` is set to `true`.
-* `delete` - (Defaults to 60 mins) Used when destroying the Spot Market Request and `wait_for_devices` is set to `true`.
+Required:
-## Import
+- `billing_cycle` (String)
+- `hostname` (String)
+- `operating_system` (String)
+- `plan` (String)
-This resource can be imported using an existing spot market request ID:
+Optional:
-```sh
-terraform import equinix_metal_spot_market_request {existing_spot_market_request_id}
-```
+- `always_pxe` (Boolean)
+- `customdata` (String)
+- `description` (String)
+- `features` (List of String)
+- `ipxe_script_url` (String)
+- `locked` (Boolean)
+- `project_ssh_keys` (List of String)
+- `tags` (List of String)
+- `user_ssh_keys` (List of String)
+- `userdata` (String)
+
+Read-Only:
+
+- `termination_time` (String)
+- `termintation_time` (String, Deprecated)
+
+
+
+### Nested Schema for `timeouts`
+
+Optional:
+
+- `create` (String)
+- `delete` (String)
diff --git a/docs/resources/metal_ssh_key.md b/docs/resources/metal_ssh_key.md
index fcaf30251..2aa2ce54d 100644
--- a/docs/resources/metal_ssh_key.md
+++ b/docs/resources/metal_ssh_key.md
@@ -1,58 +1,29 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_ssh_key Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_ssh_key (Resource)
-Provides a resource to manage User SSH keys on your Equinix Metal user account. If you create a new device in a project, all the keys of the project's collaborators will be injected to the device.
-The link between User SSH key and device is implicit. If you want to make sure that a key will be copied to a device, you must ensure that the device resource `depends_on` the key resource.
-## Example Usage
-```terraform
-# Create a new SSH key
-resource "equinix_metal_ssh_key" "key1" {
- name = "terraform-1"
- public_key = file("/home/terraform/.ssh/id_rsa.pub")
-}
-# Create new device with "key1" included. The device resource "depends_on" the
-# key, in order to make sure the key is created before the device.
-resource "equinix_metal_device" "test" {
- hostname = "test-device"
- plan = "c3.small.x86"
- metro = "sv"
- operating_system = "ubuntu_20_04"
- billing_cycle = "hourly"
- project_id = local.project_id
- depends_on = ["equinix_metal_ssh_key.key1"]
-}
-```
+
+## Schema
-## Argument Reference
+### Required
-The following arguments are supported:
+- `name` (String) The name of the SSH key for identification
+- `public_key` (String) The public key
-* `name` - (Required) The name of the SSH key for identification
-* `public_key` - (Required) The public key. If this is a file, it can be read using the file interpolation function
+### Read-Only
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the key.
-* `name` - The name of the SSH key.
-* `public_key` - The text of the public key.
-* `fingerprint` - The fingerprint of the SSH key.
-* `owner_id` - The UUID of the Equinix Metal API User who owns this key.
-* `created` - The timestamp for when the SSH key was created.
-* `updated` - The timestamp for the last time the SSH key was updated.
-
-## Import
-
-This resource can be imported using an existing SSH Key ID:
-
-```sh
-terraform import equinix_metal_ssh_key {existing_sshkey_id}
-```
+- `created` (String) The timestamp for when the SSH key was created
+- `fingerprint` (String) The fingerprint of the SSH key
+- `id` (String) The unique identifier of the resource
+- `owner_id` (String) The UUID of the Equinix Metal API User who owns this key
+- `updated` (String) The timestamp for the last time the SSH key was updated
diff --git a/docs/resources/metal_user_api_key.md b/docs/resources/metal_user_api_key.md
index 64964366f..ffca99da4 100644
--- a/docs/resources/metal_user_api_key.md
+++ b/docs/resources/metal_user_api_key.md
@@ -1,34 +1,27 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_user_api_key Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_user_api_key (Resource)
-Use this resource to create Metal User API Key resources in Equinix Metal. Each API key contains a token which can be used for authentication in Equinix Metal HTTP API (in HTTP request header `X-Auth-Token`).
-Read-only keys only allow to list and view existing resources, read-write keys can also be used to create resources.
-## Example Usage
-```terraform
-# Create a new read-only user API key
-resource "equinix_metal_user_api_key" "test" {
- description = "Read-only user key"
- read_only = true
-}
-```
+
+## Schema
-## Argument Reference
+### Required
-The following arguments are supported:
+- `description` (String) Description string for the API key
+- `read_only` (Boolean) Flag indicating whether the API key shoud be read-only
-* `description` - (Required) Description string for the User API Key resource.
-* `read-only` - (Required) Flag indicating whether the API key shoud be read-only.
+### Read-Only
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `user_id` - UUID of the owner of the API key.
-* `token` - API token which can be used in Equinix Metal API clients.
+- `id` (String) The ID of this resource.
+- `token` (String, Sensitive) API token for API clients
+- `user_id` (String) UUID of user owning this key
diff --git a/docs/resources/metal_virtual_circuit.md b/docs/resources/metal_virtual_circuit.md
index 8a6ca16d5..e73de6b47 100644
--- a/docs/resources/metal_virtual_circuit.md
+++ b/docs/resources/metal_virtual_circuit.md
@@ -1,75 +1,46 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_virtual_circuit Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_virtual_circuit (Resource)
-Use this resource to associate VLAN with a Dedicated Port from [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/#associating-a-vlan-with-a-dedicated-port).
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-## Example Usage
-Pick an existing Project and dedicated Connection, create a VLAN and use `equinix_metal_virtual_circuit` to associate it with a Primary Port of the Connection.
-```terraform
-locals {
- project_id = "52000fb2-ee46-4673-93a8-de2c2bdba33c"
- conn_id = "73f12f29-3e19-43a0-8e90-ae81580db1e0"
-}
+
+## Schema
-data "equinix_metal_connection" test {
- connection_id = local.conn_id
-}
+### Required
-resource "equinix_metal_vlan" "test" {
- project_id = local.project_id
- metro = data.equinix_metal_connection.test.metro
-}
+- `connection_id` (String) UUID of Connection where the VC is scoped to
+- `port_id` (String) UUID of the Connection Port where the VC is scoped to
+- `project_id` (String) UUID of the Project where the VC is scoped to
-resource "equinix_metal_virtual_circuit" "test" {
- connection_id = local.conn_id
- project_id = local.project_id
- port_id = data.equinix_metal_connection.test.ports[0].id
- vlan_id = equinix_metal_vlan.test.id
- nni_vlan = 1056
-}
-```
+### Optional
-## Argument Reference
+- `customer_ip` (String) The Customer IP address which the CSR switch will peer with. Will default to the other usable IP in the subnet.
+- `description` (String) Description of the Virtual Circuit resource
+- `md5` (String, Sensitive) The password that can be set for the VRF BGP peer
+- `metal_ip` (String) The Metal IP address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the subnet.
+- `name` (String) Name of the Virtual Circuit resource
+- `nni_vlan` (Number) Equinix Metal network-to-network VLAN ID (optional when the connection has mode=tunnel)
+- `peer_asn` (Number) The BGP ASN of the peer. The same ASN may be the used across several VCs, but it cannot be the same as the local_asn of the VRF.
+- `speed` (String) Description of the Virtual Circuit speed. This is for information purposes and is computed when the connection type is shared.
+- `subnet` (String) A subnet from one of the IP blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /30 or /31.
+ * For a /31 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
+ * For a /30 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
+- `tags` (List of String) Tags attached to the virtual circuit
+- `vlan_id` (String) UUID of the VLAN to associate
+- `vrf_id` (String) UUID of the VRF to associate
-The following arguments are supported:
+### Read-Only
-* `connection_id` - (Required) UUID of Connection where the VC is scoped to.
-* `project_id` - (Required) UUID of the Project where the VC is scoped to.
-* `port_id` - (Required) UUID of the Connection Port where the VC is scoped to.
-* `nni_vlan` - (Required) Equinix Metal network-to-network VLAN ID.
-* `vlan_id` - (Required) UUID of the VLAN to associate.
-* `name` - (Optional) Name of the Virtual Circuit resource.
-* `description` - (Optional) Description for the Virtual Circuit resource.
-* `tags` - (Optional) Tags for the Virtual Circuit resource.
-* `speed` - (Optional) Speed of the Virtual Circuit resource.
-* `vrf_id` - (Optional) UUID of the VRF to associate.
-* `peer_asn` - (Optional, required with `vrf_id`) The BGP ASN of the peer. The same ASN may be the used across several VCs, but it cannot be the same as the local_asn of the VRF.
-* `subnet` - (Optional, required with `vrf_id`) A subnet from one of the IP blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /30 or /31.
- * For a /31 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
- * For a /30 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
-* `metal_ip` - (Optional, required with `vrf_id`) The Metal IP address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the subnet.
-* `customer_ip` - (Optional, required with `vrf_id`) The Customer IP address which the CSR switch will peer with. Will default to the other usable IP in the subnet.
-* `md5` - (Optional, only valid with `vrf_id`) The password that can be set for the VRF BGP peer
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `status` - Status of the virtal circuit.
-* `vnid` - VNID VLAN parameter, see the [documentation for Equinix Fabric](https://metal.equinix.com/developers/docs/networking/fabric/).
-* `nni_vnid` - NNI VLAN parameters, see the [documentation for Equinix Fabric](https://metal.equinix.com/developers/docs/networking/fabric/).
-
-## Import
-
-This resource can be imported using an existing Virtual Circuit ID:
-
-```sh
-terraform import equinix_metal_virtual_circuit {existing_id}
-```
+- `id` (String) The ID of this resource.
+- `nni_vnid` (Number) Nni VLAN ID parameter, see https://metal.equinix.com/developers/docs/networking/fabric/
+- `status` (String) Status of the virtual circuit resource
+- `vnid` (Number) VNID VLAN parameter, see https://metal.equinix.com/developers/docs/networking/fabric/
diff --git a/docs/resources/metal_vlan.md b/docs/resources/metal_vlan.md
index 6c781f652..9477596b5 100644
--- a/docs/resources/metal_vlan.md
+++ b/docs/resources/metal_vlan.md
@@ -1,48 +1,31 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_vlan Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_vlan (Resource)
-Provides a resource to allow users to manage Virtual Networks in their projects.
-To learn more about Layer 2 networking in Equinix Metal, refer to
-* https://metal.equinix.com/developers/docs/networking/layer2/
-* https://metal.equinix.com/developers/docs/networking/layer2-configs/
-## Example Usage
-```terraform
-# Create a new VLAN in metro "esv"
-resource "equinix_metal_vlan" "vlan1" {
- description = "VLAN in New Jersey"
- metro = "sv"
- project_id = local.project_id
- vxlan = 1040
-}
-```
+
+## Schema
-## Argument Reference
+### Required
-The following arguments are supported:
+- `project_id` (String) ID of parent project
-* `project_id` - (Required) ID of parent project.
-* `metro` - (Optional) Metro in which to create the VLAN
-* `facility` - (**Deprecated**) Facility where to create the VLAN. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `description` - (Optional) Description string.
-* `vxlan` - (Optional) VLAN ID, must be unique in metro.
+### Optional
-## Attributes Reference
+- `description` (String) Description string
+- `facility` (String, Deprecated) Facility where to create the VLAN
+- `metro` (String) Metro in which to create the VLAN
+- `vxlan` (Number) VLAN ID, must be unique in metro
-In addition to all arguments above, the following attributes are exported:
+### Read-Only
-* `id` - ID of the virtual network.
-
-## Import
-
-This resource can be imported using an existing VLAN ID (UUID):
-
-```sh
-terraform import equinix_metal_vlan {existing_vlan_id}
-```
+- `id` (String) The unique identifier for this Metal Vlan
diff --git a/docs/resources/metal_vrf.md b/docs/resources/metal_vrf.md
index 92848e959..8085b6747 100644
--- a/docs/resources/metal_vrf.md
+++ b/docs/resources/metal_vrf.md
@@ -1,99 +1,32 @@
---
-subcategory: "Metal"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_metal_vrf Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+
---
# equinix_metal_vrf (Resource)
-Use this resource to manage a VRF.
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-## Example Usage
-Create a VRF in your desired metro and project with any IP ranges that you want the VRF to route and forward.
-```terraform
-resource "equinix_metal_project" "example" {
- name = "example"
-}
+
+## Schema
-resource "equinix_metal_vrf" "example" {
- description = "VRF with ASN 65000 and a pool of address space that includes 192.168.100.0/25"
- name = "example-vrf"
- metro = "da"
- local_asn = "65000"
- ip_ranges = ["192.168.100.0/25", "192.168.200.0/25"]
- project_id = equinix_metal_project.example.id
-}
-```
+### Required
-Create IP reservations and assign them to a Metal Gateway resources. The Gateway will be assigned the first address in the block.
+- `metro` (String) Metro Code
+- `name` (String) User-supplied name of the VRF, unique to the project
+- `project_id` (String) Project ID
-```terraform
-resource "equinix_metal_reserved_ip_block" "example" {
- description = "Reserved IP block (192.168.100.0/29) taken from on of the ranges in the VRF's pool of address space."
- project_id = equinix_metal_project.example.id
- metro = equinix_metal_vrf.example.metro
- type = "vrf"
- vrf_id = equinix_metal_vrf.example.id
- cidr = 29
- network = "192.168.100.0"
-}
+### Optional
-resource "equinix_metal_vlan" "example" {
- description = "A VLAN for Layer2 and Hybrid Metal devices"
- metro = equinix_metal_vrf.example.metro
- project_id = equinix_metal_project.example.id
-}
+- `description` (String) Description of the VRF
+- `ip_ranges` (Set of String) All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.
+- `local_asn` (Number) The 4-byte ASN set on the VRF.
-resource "equinix_metal_gateway" "example" {
- project_id = equinix_metal_project.example.id
- vlan_id = equinix_metal_vlan.example.id
- ip_reservation_id = equinix_metal_reserved_ip_block.example.id
-}
-```
+### Read-Only
-Attach a Virtual Circuit from a Dedicated Metal Connection to the Metal Gateway.
-
-```terraform
-data "equinix_metal_connection" "example" {
- connection_id = var.metal_dedicated_connection_id
-}
-
-resource "equinix_metal_virtual_circuit" "example" {
- name = "example-vc"
- description = "Virtual Circuit"
- connection_id = data.equinix_metal_connection.example.id
- project_id = equinix_metal_project.example.id
- port_id = data.equinix_metal_connection.example.ports[0].id
- nni_vlan = 1024
- vrf_id = equinix_metal_vrf.example.id
- peer_asn = 65530
- subnet = "192.168.100.16/31"
- metal_ip = "192.168.100.16"
- customer_ip = "192.168.100.17"
-}
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) User-supplied name of the VRF, unique to the project
-* `metro` - (Required) Metro ID or Code where the VRF will be deployed.
-* `project_id` - (Required) Project ID where the VRF will be deployed.
-* `description` - (Optional) Description of the VRF.
-* `local_asn` - (Optional) The 4-byte ASN set on the VRF.
-* `ip_ranges` - (Optional) All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.
-
-## Attributes Reference
-
-No additional attributes are exported.
-
-## Import
-
-This resource can be imported using an existing VRF ID:
-
-```sh
-terraform import equinix_metal_vrf {existing_id}
-```
+- `id` (String) The ID of this resource.
diff --git a/docs/resources/network_acl_template.md b/docs/resources/network_acl_template.md
index 8613d501d..1e1b9cc19 100644
--- a/docs/resources/network_acl_template.md
+++ b/docs/resources/network_acl_template.md
@@ -1,75 +1,65 @@
---
-subcategory: "Network Edge"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_network_acl_template Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Resource allows creation and management of Equinix Network Edge device Access Control List templates
---
# equinix_network_acl_template (Resource)
-Resource `equinix_network_acl_template` allows creation and management of Equinix Network Edge device Access Control List templates.
+Resource allows creation and management of Equinix Network Edge device Access Control List templates
-Device ACL templates give possibility to define set of rules will allowed inbound traffic. Templates can be assigned to the network devices.
-## Example Usage
-```terraform
-# Creates ACL template and assigns it to the network device
-resource "equinix_network_acl_template" "myacl" {
- name = "test"
- description = "Test ACL template"
- project_id = "a86d7112-d740-4758-9c9c-31e66373746b"
- inbound_rule {
- subnet = "1.1.1.1/32"
- protocol = "IP"
- src_port = "any"
- dst_port = "any"
- description = "inbound rule description"
- }
- inbound_rule {
- subnet = "172.16.25.0/24"
- protocol = "UDP"
- src_port = "any"
- dst_port = "53,1045,2041"
- }
-}
-```
+
+## Schema
-## Argument Reference
+### Required
-The following arguments are supported:
+- `inbound_rule` (Block List, Min: 1) One or more rules to specify allowed inbound traffic. Rules are ordered, matching traffic rule stops processing subsequent ones. (see [below for nested schema](#nestedblock--inbound_rule))
+- `name` (String) ACL template name
-* `name` - (Required) ACL template name.
-* `project_id` - (Optional) Unique Identifier for the project resource where the acl template is scoped to.If you leave it out, the ACL template will be created under the default project id of your organization.
-* `description` - (Optional) ACL template description, up to 200 characters.
-* `metro_code` - (Deprecated) ACL template location metro code.
-* `inbound_rule` - (Required) One or more rules to specify allowed inbound traffic. Rules are ordered, matching traffic rule stops processing subsequent ones.
+### Optional
-The `inbound_rule` block has below fields:
+- `description` (String) ACL template description, up to 200 characters
+- `metro_code` (String, Deprecated) ACL template location metro code
+- `project_id` (String) The unique identifier of Project Resource to which ACL template is scoped to
-* `subnets` - (Deprecated) Inbound traffic source IP subnets in CIDR format.
-* `subnet` - (Required) Inbound traffic source IP subnet in CIDR format.
-* `protocol` - (Required) Inbound traffic protocol. One of `IP`, `TCP`, `UDP`.
-* `src_port` - (Required) Inbound traffic source ports. Allowed values are a comma separated list of ports, e.g., `20,22,23`, port range, e.g., `1023-1040` or word `any`.
-* `dst_port` - (Required) Inbound traffic destination ports. Allowed values are a comma separated list of ports, e.g., `20,22,23`, port range, e.g., `1023-1040` or word `any`.
-* `description` - (Optional) Inbound rule description, up to 200 characters.
+### Read-Only
-## Attributes Reference
+- `device_acl_status` (String) Status of ACL template provisioning process on a device, where template was applied
+- `device_details` (List of Object) Device Details to which ACL template is assigned to. (see [below for nested schema](#nestedatt--device_details))
+- `device_id` (String, Deprecated) Identifier of a network device where template was applied
+- `id` (String) The ID of this resource.
+- `uuid` (String) Unique identifier of ACL template resource
-In addition to all arguments above, the following attributes are exported:
+
+### Nested Schema for `inbound_rule`
-* `uuid` - Unique identifier of ACL template resource.
-* `device_id` - (Deprecated) Identifier of a network device where template was applied.
-* `device_acl_status` - Status of ACL template provisioning process, where template was applied. One of `PROVISIONING`, `PROVISIONED`.
-* `device_details` - List of the devices where the ACL template is applied.
+Required:
-The `device_details` block has below fields:
+- `dst_port` (String) Inbound traffic destination ports. Either up to 10, comma separated ports or port range or any word
+- `protocol` (String) Inbound traffic protocol. One of: `IP`, `TCP`, `UDP`
+- `src_port` (String) Inbound traffic source ports. Either up to 10, comma separated ports or port range or any word
-* `uuid` - Device uuid.
-* `name` - Device name.
-* `acl_status` - Device ACL provisioning status where template was applied. One of `PROVISIONING`, `PROVISIONED`.
+Optional:
-## Import
+- `description` (String) Inbound rule description, up to 200 characters
+- `subnet` (String) Inbound traffic source IP subnet in CIDR format
+- `subnets` (List of String, Deprecated) Inbound traffic source IP subnets in CIDR format
-This resource can be imported using an existing ID:
+Read-Only:
-```sh
-terraform import equinix_network_acl_template.example {existing_id}
-```
+- `sequence_number` (Number) Inbound rule sequence number
+- `source_type` (String, Deprecated) Type of traffic source used in a given inbound rule
+
+
+
+### Nested Schema for `device_details`
+
+Read-Only:
+
+- `acl_status` (String)
+- `name` (String)
+- `uuid` (String)
diff --git a/docs/resources/network_bgp.md b/docs/resources/network_bgp.md
index 5c5236784..a555a2b92 100644
--- a/docs/resources/network_bgp.md
+++ b/docs/resources/network_bgp.md
@@ -1,51 +1,44 @@
---
-subcategory: "Network Edge"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_network_bgp Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Resource allows creation and management of Equinix Network Edge BGP peering configurations
---
# equinix_network_bgp (Resource)
-Resource `equinix_network_bgp` allows creation and management of Equinix Network Edge BGP peering configurations.
+Resource allows creation and management of Equinix Network Edge BGP peering configurations
-## Example Usage
-```terraform
-# Create BGP peering configuration on a existing connection
-# between network device and service provider
-resource "equinix_network_bgp" "test" {
- connection_id = "54014acf-9730-4b55-a791-459283d05fb1"
- local_ip_address = "10.1.1.1/30"
- local_asn = 12345
- remote_ip_address = "10.1.1.2"
- remote_asn = 66123
- authentication_key = "secret"
-}
-```
+
+## Schema
-## Argument Reference
+### Required
-The following arguments are supported:
+- `connection_id` (String) Identifier of a connection established between network device and remote service provider that will be used for peering
+- `local_asn` (Number) Local ASN number
+- `local_ip_address` (String) IP address in CIDR format of a local device
+- `remote_asn` (Number) Remote ASN number
+- `remote_ip_address` (String) IP address of remote peer
-* `connection_id` - (Required) identifier of a connection established between. network device and remote service provider that will be used for peering.
-* `local_ip_address` - (Required) IP address in CIDR format of a local device.
-* `local_asn` - (Required) Local ASN number.
-* `remote_ip_address` - (Required) IP address of remote peer.
-* `remote_asn` - (Required) Remote ASN number.
-* `authentication_key` - (Optional) shared key used for BGP peer authentication.
+### Optional
-## Attributes Reference
+- `authentication_key` (String, Sensitive) Shared key used for BGP peer authentication
+- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
-In addition to all arguments above, the following attributes are exported:
+### Read-Only
-* `uuid` - BGP peering configuration unique identifier.
-* `device_id` - unique identifier of a network device that is a local peer in a given BGP peering configuration.
-* `state` - BGP peer state, one of `Idle`, `Connect`, `Active`, `OpenSent`, `OpenConfirm`, `Established`.
-* `provisioning_status` - BGP peering configuration provisioning status, one of `PROVISIONING`, `PENDING_UPDATE`, `PROVISIONED`, `FAILED`.
+- `device_id` (String) Unique identifier of a network device that is a local peer in a given BGP peering configuration
+- `id` (String) The ID of this resource.
+- `provisioning_status` (String) BGP peering configuration provisioning status
+- `state` (String) BGP peer state
+- `uuid` (String) BGP peering configuration unique identifier
-## Import
+
+### Nested Schema for `timeouts`
-This resource can be imported using an existing ID:
+Optional:
-```sh
-terraform import equinix_network_bgp.example {existing_id}
-```
+- `create` (String)
diff --git a/docs/resources/network_device.md b/docs/resources/network_device.md
index f1c8e641f..0399842c5 100644
--- a/docs/resources/network_device.md
+++ b/docs/resources/network_device.md
@@ -1,391 +1,241 @@
---
-subcategory: "Network Edge"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_network_device Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Resource allows creation and management of Equinix Network Edge virtual devices
---
# equinix_network_device (Resource)
-Resource `equinix_network_device` allows creation and management of Equinix Network Edge virtual network devices.
-
-Network Edge virtual network devices can be created in two modes:
-
-* **managed** - (default) Where Equinix manages connectivity and services in the device and customer gets limited access to the device.
-* **self-configured** - Where customer provisions and manages own services in the device with less restricted access. Some device types are offered only in this mode.
-
-In addition to management modes, there are two software license modes available:
-
-* **subscription** - Where Equinix provides software license, including end-to-end support, and bills for the service respectively.
-* **BYOL** - [bring your own license] Where customer brings his own, already procured device software license. There are no charges associated with such license. It is the only licensing mode for `self-configured` devices.
-
-## Example Usage
-
-```terraform
-# Create pair of redundant, managed CSR1000V routers with license subscription
-# in two different metro locations
-
-data "equinix_network_account" "dc" {
- metro_code = "DC"
-}
-
-data "equinix_network_account" "sv" {
- metro_code = "SV"
-}
-
-resource "equinix_network_device" "csr1000v-ha" {
- name = "tf-csr1000v-p"
- throughput = 500
- throughput_unit = "Mbps"
- metro_code = data.equinix_network_account.dc.metro_code
- type_code = "CSR1000V"
- self_managed = false
- connectivity = "INTERNET-ACCESS"
- byol = false
- package_code = "SEC"
- notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
- hostname = "csr1000v-p"
- term_length = 12
- account_number = data.equinix_network_account.dc.number
- version = "16.09.05"
- core_count = 2
- secondary_device {
- name = "tf-csr1000v-s"
- metro_code = data.equinix_network_account.sv.metro_code
- hostname = "csr1000v-s"
- notifications = ["john@equinix.com", "marry@equinix.com"]
- account_number = data.equinix_network_account.sv.number
- }
-}
-```
-
-```terraform
-# Create self configured PANW cluster with BYOL license
-
-data "equinix_network_account" "sv" {
- metro_code = "SV"
-}
-
-resource "equinix_network_device" "panw-cluster" {
- name = "tf-panw"
- metro_code = data.equinix_network_account.sv.metro_code
- type_code = "PA-VM"
- self_managed = true
- byol = true
- package_code = "VM100"
- notifications = ["john@equinix.com", "marry@equinix.com", "fred@equinix.com"]
- term_length = 12
- account_number = data.equinix_network_account.sv.number
- version = "10.1.3"
- interface_count = 10
- core_count = 2
- ssh_key {
- username = "test"
- key_name = "test-key"
- }
- acl_template_id = "0bff6e05-f0e7-44cd-804a-25b92b835f8b"
- cluster_details {
- cluster_name = "tf-panw-cluster"
- node0 {
- vendor_configuration {
- hostname = "panw-node0"
- }
- license_token = "licenseToken"
- }
- node1 {
- vendor_configuration {
- hostname = "panw-node1"
- }
- license_token = "licenseToken"
- }
- }
-}
-```
-
-```terraform
-# Create self configured single Aviatrix device with cloud init file
-
-data "equinix_network_account" "sv" {
- metro_code = "SV"
-}
-
-variable "filepath" { default = "cloudInitFileFolder/TF-AVX-cloud-init-file.txt" }
-
-resource "equinix_network_file" "aviatrix-cloudinit-file" {
- file_name = "TF-AVX-cloud-init-file.txt"
- content = file("${path.module}/${var.filepath}")
- metro_code = data.equinix_network_account.sv.metro_code
- device_type_code = "AVIATRIX_EDGE"
- process_type = "CLOUD_INIT"
- self_managed = true
- byol = true
-}
-
-resource "equinix_network_device" "aviatrix-single" {
- name = "tf-aviatrix"
- metro_code = data.equinix_network_account.sv.metro_code
- type_code = "AVIATRIX_EDGE"
- self_managed = true
- byol = true
- package_code = "STD"
- notifications = ["john@equinix.com"]
- term_length = 12
- account_number = data.equinix_network_account.sv.number
- version = "6.9"
- core_count = 2
- cloud_init_file_id = equinix_network_file.aviatrix-cloudinit-file.uuid
- acl_template_id = "c06150ea-b604-4ad1-832a-d63936e9b938"
-}
-```
-
-```terraform
-# Create self configured single Catalyst 8000V (Autonomous Mode) router with license token
-
-data "equinix_network_account" "sv" {
- name = "account-name"
- metro_code = "SV"
-}
-
-resource "equinix_network_device" "c8kv-single" {
- name = "tf-c8kv"
- metro_code = data.equinix_network_account.sv.metro_code
- type_code = "C8000V"
- self_managed = true
- byol = true
- package_code = "network-essentials"
- notifications = ["test@equinix.com"]
- hostname = "C8KV"
- account_number = data.equinix_network_account.sv.number
- version = "17.06.01a"
- core_count = 2
- term_length = 12
- license_token = "valid-license-token"
- additional_bandwidth = 5
- ssh_key {
- username = "test-username"
- key_name = "valid-key-name"
- }
- acl_template_id = "3e548c02-9164-4197-aa23-05b1f644883c"
-}
-```
-
-```terraform
-# Create self configured single VSRX device with BYOL License
-
-data "equinix_network_account" "sv" {
- name = "account-name"
- metro_code = "SV"
-}
-
-resource "equinix_network_device" "vsrx-single" {
- name = "tf-c8kv-sdwan"
- metro_code = data.equinix_network_account.sv.metro_code
- type_code = "VSRX"
- self_managed = true
- byol = true
- package_code = "STD"
- notifications = ["test@equinix.com"]
- hostname = "VSRX"
- account_number = data.equinix_network_account.sv.number
- version = "23.2R1.13"
- core_count = 2
- term_length = 12
- additional_bandwidth = 5
- project_id = "a86d7112-d740-4758-9c9c-31e66373746b"
- diverse_device_id = "ed7891bd-15b4-4f72-ac56-d96cfdacddcc"
- ssh_key {
- username = "test-username"
- key_name = "valid-key-name"
- }
- acl_template_id = "3e548c02-9164-4197-aa23-05b1f644883c"
-}
-```
-
-```terraform
-# Create self configured redundant Arista router with DSA key
-
-data "equinix_network_account" "sv" {
- name = "account-name"
- metro_code = "SV"
-}
-
-resource "equinix_network_ssh_key" "test-public-key" {
- name = "key-name"
- public_key = "ssh-dss key-value"
- type = "DSA"
-}
-
-resource "equinix_network_device" "arista-ha" {
- name = "tf-arista-p"
- metro_code = data.equinix_network_account.sv.metro_code
- type_code = "ARISTA-ROUTER"
- self_managed = true
- connectivity = "PRIVATE"
- byol = true
- package_code = "CloudEOS"
- notifications = ["test@equinix.com"]
- hostname = "arista-p"
- account_number = data.equinix_network_account.sv.number
- version = "4.29.0"
- core_count = 4
- term_length = 12
- additional_bandwidth = 5
- ssh_key {
- username = "test-username"
- key_name = equinix_network_ssh_key.test-public-key.name
- }
- acl_template_id = "c637a17b-7a6a-4486-924b-30e6c36904b0"
- secondary_device {
- name = "tf-arista-s"
- metro_code = data.equinix_network_account.sv.metro_code
- hostname = "arista-s"
- notifications = ["test@eq.com"]
- account_number = data.equinix_network_account.sv.number
- acl_template_id = "fee5e2c0-6198-4ce6-9cbd-bbe6c1dbe138"
- }
-}
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) Device name.
-* `type_code` - (Required) Device type code.
-* `metro_code` - (Required) Device location metro code.
-* `hostname` - (Optional) Device hostname prefix.
-* `package_code` - (Required) Device software package code.
-* `version` - (Required) Device software software version.
-* `core_count` - (Required) Number of CPU cores used by device. (**NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.**)
-* `term_length` - (Required) Device term length.
-* `self_managed` - (Optional) Boolean value that determines device management mode, i.e., `self-managed` or `Equinix-managed` (default).
-* `byol` - (Optional) Boolean value that determines device licensing mode, i.e., `bring your own license` or `subscription` (default).
-* `license_token` - (Optional, conflicts with `license_file`) License Token applicable for some device types in BYOL licensing mode.
-* `license_file` - (Optional) Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
-* `license_file_id` - (Optional, conflicts with `license_file`) Identifier of a license file that will be applied on the device.
-* `cloud_init_file_id` - (Optional) Identifier of a cloud init file that will be applied on the device.
-* `throughput` - (Optional) Device license throughput.
-* `throughput_unit` - (Optional) License throughput unit. One of `Mbps` or `Gbps`.
-* `account_number` - (Required) Billing account number for a device.
-* `notifications` - (Required) List of email addresses that will receive device status notifications.
-* `purchase_order_number` - (Optional) Purchase order number associated with a device order.
-* `order_reference` - (Optional) Name/number used to identify device order on the invoice.
-* `acl_template_id` - (Optional) Identifier of a WAN interface ACL template that will be applied on the device.
-* `mgmt_acl_template_uuid` - (Optional) Identifier of an MGMT interface ACL template that will be applied on the device.
-* `additional_bandwidth` - (Optional) Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
-* `interface_count` - (Optional) Number of network interfaces on a device. If not specified, default number for a given device type will be used.
-* `wan_interafce_id` - (Optional) Specify the WAN/SSH interface id. If not specified, default WAN/SSH interface for a given device type will be used.
-* `vendor_configuration` - (Optional) Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress)
-* `ssh-key` - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See [SSH Key](#ssh-key) below for more details.
-* `secondary_device` - (Optional) Definition of secondary device for redundant device configurations. See [Secondary Device](#secondary-device) below for more details.
-* `cluster_details` - (Optional) An object that has the cluster details. See [Cluster Details](#cluster-details) below for more details.
-* `connectivity` - (Optional) Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
-* `project_id` - (Optional) Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
-* `diverse_device_id` - (Optional) Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
-
-### Secondary Device
-
--> **NOTE:** Network Edge provides different High Availability (HA) options. By defining a `secondary_device` block, terraform will deploy [Redundant Devices](https://docs.equinix.com/en-us/Content/Interconnection/NE/deploy-guide/Reference%20Architecture/NE-High-Availability-Options.htm#:~:text=Redundant%20Devices%20(Active/Active)), useful for customers that require two actively forwarding data planes (Active/Active) on separate hardware stacks. See [Architecting for Resiliency](https://docs.equinix.com/en-us/Content/Interconnection/NE/deploy-guide/NE-architecting-resiliency.htm) documentation to know more about the fault-tolerant solutions that you can achieve.
-
-The `secondary_device` block supports the following arguments:
-
-* `name` - (Required) Secondary device name.
-* `metro_code` - (Required) Metro location of a secondary device.
-* `hostname` - (Optional) Secondary device hostname.
-* `license_token` - (Optional, conflicts with `license_file`) License Token can be provided for some device types o the device.
-* `license_file` - (Optional) Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode.
-* `license_file_id` - (Optional, conflicts with `license_file`) Identifier of a license file that will be applied on a secondary device.
-* `cloud_init_file_id` - (Optional) Identifier of a cloud init file that will be applied on a secondary device.
-* `account_number` - (Required) Billing account number for secondary device.
-* `notifications` - (Required) List of email addresses that will receive notifications about secondary device.
-* `additional_bandwidth` - (Optional) Additional Internet bandwidth, in Mbps, for a secondary device.
-* `vendor_configuration` - (Optional) Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are `controller1`, `activationKey`, `managementType`, `siteId`, `systemIpAddress`.
-* `acl_template_id` - (Optional) Identifier of a WAN interface ACL template that will be applied on a secondary device.
-* `mgmt_acl_template_uuid` - (Optional) Identifier of an MGMT interface ACL template that will be applied on a secondary device.
-* `ssh-key` - (Optional) Up to one definition of SSH key that will be provisioned on a secondary device.
-
-### SSH Key
-
-The `ssh_key` block supports the following arguments:
-
-* `username` - (Required) username associated with given key.
-* `name` - (Required) reference by name to previously provisioned public SSH key.
-
-### Cluster Details
-
--> **NOTE:** Network Edge provides different High Availability (HA) options. By defining a `cluster_details` block, terraform will deploy a `Device Clustering`. This option, based on vendor-specific features, allows customers to deploy more advanced resilient configurations than `secondary_device`. See [Network Edge HA Options](https://docs.equinix.com/en-us/Content/Interconnection/NE/deploy-guide/Reference%20Architecture/NE-High-Availability-Options.htm) documentation to know which vendors support clustered devices. See [Architecting for Resiliency](https://docs.equinix.com/en-us/Content/Interconnection/NE/deploy-guide/NE-architecting-resiliency.htm) documentation to know more about the fault-tolerant solutions that you can achieve.
-
-The `cluster_details` block supports the following arguments:
-
-* `cluster_name` - (Required) The name of the cluster device
-* `node0` - (Required) An object that has `node0` configuration. See [Cluster Details - Nodes](#cluster-details---nodes) below for more details.
-* `node1` - (Required) An object that has `node1` configuration. See [Cluster Details - Nodes](#cluster-details---nodes) below for more details.
-
-### Cluster Details - Nodes
-
-The `node0` and `node1` blocks supports the following arguments:
-
-* `vendor_configuration` - (Optional) An object that has fields relevant to the vendor of the cluster device. See [Cluster Details - Nodes - Vendor Configuration](#cluster-details---nodes---vendor-configuration) below for more details.
-* `license_file_id` - (Optional) License file id. This is necessary for Fortinet and Juniper clusters.
-* `license_token` - (Optional) License token. This is necessary for Palo Alto clusters.
-
-### Cluster Details - Nodes - Vendor Configuration
-
-The `vendor_configuration` block supports the following arguments:
-
-* `hostname` - (Optional) Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
-* `admin_password` - (Optional) The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
-* `controller1` - (Optional) System IP Address. Mandatory for the Fortinet SDWAN cluster device.
-* `activation_key` - (Optional) Activation key. This is required for Velocloud clusters.
-* `controller_fqdn` - (Optional) Controller fqdn. This is required for Velocloud clusters.
-* `root_password` - (Optional) The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Device unique identifier.
-* `status` - Device provisioning status. Possible values are `INITIALIZING`, `PROVISIONING`, `WAITING_FOR_PRIMARY`, `WAITING_FOR_SECONDARY`, `WAITING_FOR_REPLICA_CLUSTER_NODES`, `CLUSTER_SETUP_IN_PROGRESS`, `FAILED`, `PROVISIONED`, `DEPROVISIONING`, `DEPROVISIONED`, `RESOURCE_UPGRADE_IN_PROGRESS`, `RESOURCE_UPGRADE_FAILED`.
-* `license_status` - Device license registration status. Possible values are `APPLYING_LICENSE`, `REGISTERED`, `APPLIED`, `WAITING_FOR_CLUSTER_SETUP`, `REGISTRATION_FAILED`.
-* `license_file_id` - Unique identifier of applied license file.
-* `ibx` - Device location Equinix Business Exchange name.
-* `region` - Device location region.
-* `acl_template_id` - Unique identifier of applied ACL template.
-* `ssh_ip_address` - IP address of SSH enabled interface on the device.
-* `ssh_ip_fqdn` - FQDN of SSH enabled interface on the device.
-* `redundancy_type` - Device redundancy type applicable for HA devices, either primary or secondary.
-* `redundant_id` - Unique identifier for a redundant device applicable for HA devices.
-* `interface` - List of device interfaces. See [Interface Attribute](#interface-attribute) below for more details.
-* `asn` - (Autonomous System Number) Unique identifier for a network on the internet.
-* `zone_code` - Device location zone code.
-* `cluster_id` - The ID of the cluster.
-* `num_of_nodes` - The number of nodes in the cluster.
-* `diverse_device_name` - Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
-
-### Interface Attribute
-
-Each interface attribute has below fields:
-
-* `id` - interface identifier.
-* `name` - interface name.
-* `status` - interface status. One of `AVAILABLE`, `RESERVED`, `ASSIGNED`.
-* `operational_status` - interface operational status. One of `up`, `down`.
-* `mac_address` - interface MAC address.
-* `ip_address` - interface IP address.
-* `assigned_type` - interface management type (Equinix Managed or empty).
-* `type` - interface type.
+Resource allows creation and management of Equinix Network Edge virtual devices
+
+
+
+
+## Schema
+
+### Required
-## Timeouts
+- `account_number` (String) Device billing account number
+- `core_count` (Number) Number of CPU cores used by device
+- `metro_code` (String) Device location metro code
+- `name` (String) Device name
+- `notifications` (Set of String) List of email addresses that will receive device status notifications
+- `package_code` (String) Device software package code
+- `term_length` (Number) Device term length
+- `type_code` (String) Device type code
+- `version` (String) Device software software version
-This resource provides the following [Timeouts configuration](https://www.terraform.io/language/resources/syntax#operation-timeouts) options:
+### Optional
-* create - Default is 90 minutes
-* update - Default is 90 minutes
-* delete - Default is 30 minutes
+- `acl_template_id` (String) Unique identifier of applied ACL template
+- `additional_bandwidth` (Number) Additional Internet bandwidth, in Mbps, that will be allocated to the device
+- `byol` (Boolean) Boolean value that determines device licensing mode: bring your own license or subscription (default)
+- `cloud_init_file_id` (String) Unique identifier of applied cloud init file
+- `cluster_details` (Block List, Max: 1) An object that has the cluster details (see [below for nested schema](#nestedblock--cluster_details))
+- `connectivity` (String) Parameter to identify internet access for device. Supported Values: INTERNET-ACCESS(default) or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT
+- `diverse_device_id` (String) Unique ID of an existing device
+- `hostname` (String) Device hostname prefix
+- `interface_count` (Number) Number of network interfaces on a device. If not specified, default number for a given device type will be used
+- `license_file` (String) Path to the license file that will be uploaded and applied on a device, applicable for some device types in BYOL licensing mode
+- `license_file_id` (String) Unique identifier of applied license file
+- `license_token` (String) License Token applicable for some device types in BYOL licensing mode
+- `mgmt_acl_template_uuid` (String) Unique identifier of applied MGMT ACL template
+- `order_reference` (String) Name/number used to identify device order on the invoice
+- `project_id` (String) The unique identifier of Project Resource to which device is scoped to
+- `purchase_order_number` (String) Purchase order number associated with a device order
+- `secondary_device` (Block List, Max: 1) Definition of secondary device applicable for HA setup (see [below for nested schema](#nestedblock--secondary_device))
+- `self_managed` (Boolean) Boolean value that determines device management mode: self-managed or subscription (default)
+- `ssh_key` (Block Set, Max: 1) Definition of SSH key that will be provisioned on a device (see [below for nested schema](#nestedblock--ssh_key))
+- `throughput` (Number) Device license throughput
+- `throughput_unit` (String) Device license throughput unit (Mbps or Gbps)
+- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
+- `vendor_configuration` (Map of String) Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress)
+- `wan_interface_id` (String) device interface id picked for WAN
-## Import
+### Read-Only
-This resource can be imported using an existing ID:
+- `asn` (Number) Autonomous system number
+- `diverse_device_name` (String) Diverse Device Name of an existing device
+- `ibx` (String) Device location Equinix Business Exchange name
+- `id` (String) The ID of this resource.
+- `interface` (List of Object) List of device interfaces (see [below for nested schema](#nestedatt--interface))
+- `license_status` (String) Device license registration status
+- `redundancy_type` (String) Device redundancy type applicable for HA devices, either primary or secondary
+- `redundant_id` (String) Unique identifier for a redundant device, applicable for HA device
+- `region` (String) Device location region
+- `ssh_ip_address` (String) IP address of SSH enabled interface on the device
+- `ssh_ip_fqdn` (String) FQDN of SSH enabled interface on the device
+- `status` (String) Device provisioning status
+- `uuid` (String) Device unique identifier
+- `zone_code` (String) Device location zone code
-```sh
-terraform import equinix_network_device.example {existing_id}
-```
+
+### Nested Schema for `cluster_details`
-The `license_token`, `mgmt_acl_template_uuid` and `cloud_init_file_id` fields can not be imported.
+Required:
+
+- `cluster_name` (String) The name of the cluster device
+- `node0` (Block List, Min: 1, Max: 1) An object that has node0 details (see [below for nested schema](#nestedblock--cluster_details--node0))
+- `node1` (Block List, Min: 1, Max: 1) An object that has node1 details (see [below for nested schema](#nestedblock--cluster_details--node1))
+
+Read-Only:
+
+- `cluster_id` (String) The id of the cluster
+- `num_of_nodes` (Number) The number of nodes in the cluster
+
+
+### Nested Schema for `cluster_details.node0`
+
+Optional:
+
+- `license_file_id` (String) License file id. This is necessary for Fortinet and Juniper clusters
+- `license_token` (String, Sensitive) License token. This is necessary for Palo Alto clusters
+- `vendor_configuration` (Block List, Max: 1) An object that has fields relevant to the vendor of the cluster device (see [below for nested schema](#nestedblock--cluster_details--node0--vendor_configuration))
+
+Read-Only:
+
+- `name` (String) The name of the node
+- `uuid` (String) The unique id of the node
+
+
+### Nested Schema for `cluster_details.node0.vendor_configuration`
+
+Optional:
+
+- `activation_key` (String, Sensitive) Activation key. This is required for Velocloud clusters
+- `admin_password` (String, Sensitive) The administrative password of the device. You can use it to log in to the console. This field is not available for all device types
+- `controller1` (String) System IP Address. Mandatory for the Fortinet SDWAN cluster device
+- `controller_fqdn` (String) Controller fqdn. This is required for Velocloud clusters
+- `hostname` (String) Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters
+- `root_password` (String, Sensitive) The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster
+
+
+
+
+### Nested Schema for `cluster_details.node1`
+
+Optional:
+
+- `license_file_id` (String) License file id. This is necessary for Fortinet and Juniper clusters
+- `license_token` (String, Sensitive) License token. This is necessary for Palo Alto clusters
+- `vendor_configuration` (Block List, Max: 1) An object that has fields relevant to the vendor of the cluster device (see [below for nested schema](#nestedblock--cluster_details--node1--vendor_configuration))
+
+Read-Only:
+
+- `name` (String) The name of the node
+- `uuid` (String) The unique id of the node
+
+
+### Nested Schema for `cluster_details.node1.vendor_configuration`
+
+Optional:
+
+- `activation_key` (String, Sensitive) Activation key. This is required for Velocloud clusters
+- `admin_password` (String, Sensitive) The administrative password of the device. You can use it to log in to the console. This field is not available for all device types
+- `controller1` (String) System IP Address. Mandatory for the Fortinet SDWAN cluster device
+- `controller_fqdn` (String) Controller fqdn. This is required for Velocloud clusters
+- `hostname` (String) Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters
+- `root_password` (String, Sensitive) The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster
+
+
+
+
+
+### Nested Schema for `secondary_device`
+
+Required:
+
+- `account_number` (String) Device billing account number
+- `metro_code` (String) Device location metro code
+- `name` (String) Device name
+- `notifications` (Set of String) List of email addresses that will receive device status notifications
+
+Optional:
+
+- `acl_template_id` (String) Unique identifier of applied ACL template
+- `additional_bandwidth` (Number) Additional Internet bandwidth, in Mbps, that will be allocated to the device
+- `cloud_init_file_id` (String) Unique identifier of applied cloud init file
+- `hostname` (String) Device hostname prefix
+- `license_file` (String) Path to the license file that will be uploaded and applied on a device, applicable for some device types in BYOL licensing mode
+- `license_file_id` (String) Unique identifier of applied license file
+- `license_token` (String) License Token applicable for some device types in BYOL licensing mode
+- `mgmt_acl_template_uuid` (String) Unique identifier of applied MGMT ACL template
+- `ssh_key` (Block Set, Max: 1) Definition of SSH key that will be provisioned on a device (see [below for nested schema](#nestedblock--secondary_device--ssh_key))
+- `vendor_configuration` (Map of String) Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress)
+- `wan_interface_id` (String) device interface id picked for WAN
+
+Read-Only:
+
+- `asn` (Number) Autonomous system number
+- `ibx` (String) Device location Equinix Business Exchange name
+- `interface` (List of Object) List of device interfaces (see [below for nested schema](#nestedatt--secondary_device--interface))
+- `license_status` (String) Device license registration status
+- `project_id` (String) The unique identifier of Project Resource to which device is scoped to
+- `redundancy_type` (String) Device redundancy type applicable for HA devices, either primary or secondary
+- `redundant_id` (String) Unique identifier for a redundant device, applicable for HA device
+- `region` (String) Device location region
+- `ssh_ip_address` (String) IP address of SSH enabled interface on the device
+- `ssh_ip_fqdn` (String) FQDN of SSH enabled interface on the device
+- `status` (String) Device provisioning status
+- `uuid` (String) Device unique identifier
+- `zone_code` (String) Device location zone code
+
+
+### Nested Schema for `secondary_device.ssh_key`
+
+Required:
+
+- `key_name` (String) Reference by name to previously provisioned public SSH key
+- `username` (String) Username associated with given key
+
+
+
+### Nested Schema for `secondary_device.interface`
+
+Read-Only:
+
+- `assigned_type` (String)
+- `id` (Number)
+- `ip_address` (String)
+- `mac_address` (String)
+- `name` (String)
+- `operational_status` (String)
+- `status` (String)
+- `type` (String)
+
+
+
+
+### Nested Schema for `ssh_key`
+
+Required:
+
+- `key_name` (String) Reference by name to previously provisioned public SSH key
+- `username` (String) Username associated with given key
+
+
+
+### Nested Schema for `timeouts`
+
+Optional:
+
+- `create` (String)
+- `delete` (String)
+- `update` (String)
+
+
+
+### Nested Schema for `interface`
+
+Read-Only:
+
+- `assigned_type` (String)
+- `id` (Number)
+- `ip_address` (String)
+- `mac_address` (String)
+- `name` (String)
+- `operational_status` (String)
+- `status` (String)
+- `type` (String)
diff --git a/docs/resources/network_device_link.md b/docs/resources/network_device_link.md
index e4464ade5..27b263bc7 100644
--- a/docs/resources/network_device_link.md
+++ b/docs/resources/network_device_link.md
@@ -1,94 +1,77 @@
---
-subcategory: "Network Edge"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_network_device_link Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Resource allows creation and management of Equinix Network Edge device links
---
# equinix_network_device_link (Resource)
-Resource `equinix_network_device_link` allows creation and management of Equinix Network Edge virtual network device links.
+Resource allows creation and management of Equinix Network Edge device links
-## Example Usage
-```terraform
-# Example of device link with HA device pair
-# where each device is in different metro
-resource "equinix_network_device_link" "test" {
- name = "test-link"
- subnet = "192.168.40.64/27"
- project_id = "a86d7112-d740-4758-9c9c-31e66373746b"
- device {
- id = equinix_network_device.test.uuid
- asn = equinix_network_device.test.asn > 0 ? equinix_network_device.test.asn : 22111
- interface_id = 6
- }
- device {
- id = equinix_network_device.test.secondary_device[0].uuid
- asn = equinix_network_device.test.secondary_device[0].asn > 0 ? equinix_network_device.test.secondary_device[0].asn : 22333
- interface_id = 7
- }
- link {
- account_number = equinix_network_device.test.account_number
- src_metro_code = equinix_network_device.test.metro_code
- dst_metro_code = equinix_network_device.test.secondary_device[0].metro_code
- throughput = "50"
- throughput_unit = "Mbps"
- }
-}
-```
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Required
-* `name` - (Required) device link name.
-* `subnet` - (Optional) device link subnet in CIDR format. Not required for link between self configured devices.
-* `device` - (Required) definition of one or more devices belonging to the device link. See [Device](#device) section below for more details.
-* `link` - (Optional) definition of one or more, inter metro, connections belonging to the device link. See [Link](#link) section below for more details.
-* `project_id` - (Optional) Unique Identifier for the project resource where the device link is scoped to.If you leave it out, the device link will be created under the default project id of your organization.
+- `device` (Block Set, Min: 2) (see [below for nested schema](#nestedblock--device))
+- `name` (String) name
-### Device
+### Optional
-The `device` block supports the following arguments:
+- `link` (Block Set) link (see [below for nested schema](#nestedblock--link))
+- `project_id` (String) project_id
+- `subnet` (String) subnet
+- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
-* `id` - (Required) Device identifier.
-* `asn` - (Optional) Device ASN number. Not required for self configured devices.
-* `interface_id` - (Optional) Device network interface identifier to use for device link connection.
+### Read-Only
-### Link
+- `id` (String) The ID of this resource.
+- `status` (String) Device link provisioning status
+- `uuid` (String) Device link unique identifier
-The `link` block supports the following arguments:
+
+### Nested Schema for `device`
-* `account_number` - (Required) billing account number to be used for connection charges
-* `throughput` - (Required) connection throughput.
-* `throughput_unit` - (Required) connection throughput unit (Mbps or Gbps).
-* `src_metro_code` - (Required) connection source metro code.
-* `dst_metro_code` - (Required) connection destination metro code.
-* `src_zone_code` - (Deprecated) connection source zone code is not required.
-* `dst_zone_code` - (Deprecated) connection destination zone code is not required.
+Required:
-## Attributes Reference
+- `id` (String) Device identifier
-In addition to all arguments above, the following attributes are exported:
+Optional:
-* `uuid` - Device link unique identifier.
-* `status` - Device link provisioning status. One of `PROVISIONING`, `PROVISIONED`, `DEPROVISIONING`, `DEPROVISIONED`, `FAILED`.
+- `asn` (Number) Device ASN number
+- `interface_id` (Number) Device network interface identifier to use for device link connection
-The `device` block attributes:
+Read-Only:
-* `ip_address` - IP address from device link subnet that was assigned to the device
-* `status` - device link provisioning status on a given device. One of `PROVISIONING`, `PROVISIONED`, `DEPROVISIONING`, `DEPROVISIONED`, `FAILED`.
+- `ip_address` (String) Assigned IP address from device link subnet
+- `status` (String) Device link connection provisioning status
-## Timeouts
-This resource provides the following [Timeouts configuration](https://www.terraform.io/language/resources/syntax#operation-timeouts) options:
+
+### Nested Schema for `link`
-* create - Default is 10 minutes
-* update - Default is 10 minutes
-* delete - Default is 10 minutes
+Required:
-## Import
+- `account_number` (String) Billing account number to be used for connection charges
+- `dst_metro_code` (String) Connection destination metro code
+- `src_metro_code` (String) Connection source metro code
+- `throughput` (String) Connection throughput
+- `throughput_unit` (String) Connection throughput unit
-This resource can be imported using an existing ID:
+Optional:
-```sh
-terraform import equinix_network_device_link.example {existing_id}
-```
+- `dst_zone_code` (String, Deprecated) Connection destination zone code
+- `src_zone_code` (String, Deprecated) Connection source zone code
+
+
+
+### Nested Schema for `timeouts`
+
+Optional:
+
+- `create` (String)
+- `delete` (String)
diff --git a/docs/resources/network_file.md b/docs/resources/network_file.md
index 7d3ab59f6..d06add841 100644
--- a/docs/resources/network_file.md
+++ b/docs/resources/network_file.md
@@ -1,52 +1,32 @@
---
-subcategory: "Network Edge"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_network_file Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Resource allows creation and management of Equinix Network Edge device files
---
# equinix_network_file (Resource)
-Resource `equinix_network_file` allows creation and management of Equinix Network Edge files.
+Resource allows creation and management of Equinix Network Edge device files
-## Example Usage
-```terraform
-variable "filepath" { default = "fileFolder/fileName.txt" }
-resource "equinix_network_file" "test-file" {
- file_name = "fileName.txt"
- content = file("${path.module}/${var.filepath}")
- metro_code = "SV"
- device_type_code = "AVIATRIX_EDGE"
- process_type = "CLOUD_INIT"
- self_managed = true
- byol = true
-}
-```
+
+## Schema
-## Argument Reference
+### Required
-The following arguments are supported:
+- `byol` (Boolean) Boolean value that determines device licensing mode: bring your own license or subscription
+- `content` (String, Sensitive) Uploaded file content, expected to be a UTF-8 encoded string
+- `device_type_code` (String) Device type code
+- `file_name` (String) File name
+- `metro_code` (String) File upload location metro code
+- `process_type` (String) File process type (LICENSE or CLOUD_INIT)
+- `self_managed` (Boolean) Boolean value that determines device management mode: self-managed or equinix-managed
-* `file_name` - (Required) File name.
-* `content` - (Required) Uploaded file content, expected to be a UTF-8 encoded string.
-* `metro_code` - (Required) File upload location metro code. It should match the device location metro code.
-* `type_code` - (Required) Device type code.
-* `process_type` - (Required) File process type (LICENSE or CLOUD_INIT).
-* `self_managed` - (Required) Boolean value that determines device management mode, i.e., `self-managed` or `Equinix-managed`.
-* `byol` - (Required) Boolean value that determines device licensing mode, i.e., `bring your own license` or `subscription`.
+### Read-Only
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Unique identifier of file resource.
-* `status` - File upload status.
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_network_file.example {existing_id}
-```
-
-The `content`, `self_managed` and `byol` fields can not be imported.
+- `id` (String) The ID of this resource.
+- `status` (String) File upload status
+- `uuid` (String) Unique identifier of file resource
diff --git a/docs/resources/network_ssh_key.md b/docs/resources/network_ssh_key.md
index f3234969d..832ddc8fa 100644
--- a/docs/resources/network_ssh_key.md
+++ b/docs/resources/network_ssh_key.md
@@ -1,50 +1,39 @@
---
-subcategory: "Network Edge"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_network_ssh_key Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Resource allows creation and management of Equinix Network Edge SSH keys
---
# equinix_network_ssh_key (Resource)
-Resource `equinix_network_ssh_key` allows creation and management of Equinix Network Edge SSH keys.
+Resource allows creation and management of Equinix Network Edge SSH keys
-## Example Usage
-```terraform
-resource "equinix_network_ssh_key" "john" {
- name = "johnKent"
- public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDpXGdxljAyPp9vH97436U171cX
- 2gRkfPnpL8ebrk7ZBeeIpdjtd8mYpXf6fOI0o91TQXZTYtjABzeRgg6/m9hsMOnTHjzWpFyuj/hiPu
- iie1WtT4NffSH1ALQFX/azouBLmdNiYFMLfEVPZleergAqsYOHGCiQuR6Qh5j0yc5Wx+LKxiRZyjsS
- qo+EB8V6xBXi2i5PDJXK+dYG8YU9vdNeQdB84HvTWcGEnLR5w7pgC74pBVwzs3oWLy+3jWS0TKKtfl
- mryeFRufXq87gEkC1MOWX88uQgjyCsemuhPdN++2WS57gu7vcqCMwMDZa7dukRS3JANBtbs7qQhp9N
- w2PB4q6tohqUnSDxNjCqcoGeMNg/0kHeZcoVuznsjOrIDt0HgUApflkbtw1DP7Epfc2MJ0anf5GizM
- 8UjMYiXEvv2U/qu8Vb7d5bxAshXM5nh67NSrgst9YzSSodjUCnFQkniz6KLrTkX6c2y2gJ5c9tWhg5
- SPkAc8OqLrmIwf5jGoHGh6eUJy7AtMcwE3iUpbrLw8EEoZDoDXkzh+RbOtSNKXWV4EAXsIhjQusCOW
- WQnuAHCy9N4Td0Sntzu/xhCZ8xN0oO67Cqlsk98xSRLXeg21PuuhOYJw0DLF6L68zU2OO0RzqoNq/F
- jIsltSUJPAIfYKL0yEefeNWOXSrasI1ezw== John.Kent@company.com"
- type = "RSA"
- project_id = "a86d7112-d740-4758-9c9c-31e66373746b"
-}
-```
-## Argument Reference
+
+## Schema
-The following arguments are supported:
+### Required
-* `name` - (Required) The name of SSH key used for identification.
-* `public_key` - (Required) The SSH public key. If this is a file, it can be read using the file interpolation function.
-* `type` - (Optional) The type of SSH key: `RSA` (default) or `DSA`.
-* `project_id` - (Optional) Unique Identifier for the project resource where the SSH key is scoped to.If you leave it out, the ssh key will be created under the default project id of your organization.
+- `name` (String) The name of SSH key used for identification
+- `public_key` (String) The SSH public key. If this is a file, it can be read using the file interpolation function
-## Attributes Reference
+### Optional
-In addition to all arguments above, the following attributes are exported:
+- `project_id` (String) The unique identifier of Project Resource to which ssh key is scoped to
+- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
+- `type` (String) The type of SSH key: RSA (default) or DSA
-* `uuid` - The unique identifier of the key
+### Read-Only
-## Import
+- `id` (String) The ID of this resource.
+- `uuid` (String) The unique identifier of the key
-This resource can be imported using an existing ID:
+
+### Nested Schema for `timeouts`
-```sh
-terraform import equinix_network_ssh_key.example {existing_id}
-```
+Optional:
+
+- `create` (String)
diff --git a/docs/resources/network_ssh_user.md b/docs/resources/network_ssh_user.md
index 07fa850af..ece8bf9fc 100644
--- a/docs/resources/network_ssh_user.md
+++ b/docs/resources/network_ssh_user.md
@@ -1,45 +1,27 @@
---
-subcategory: "Network Edge"
+# generated by https://github.com/hashicorp/terraform-plugin-docs
+page_title: "equinix_network_ssh_user Resource - terraform-provider-equinix"
+subcategory: ""
+description: |-
+ Resource allows creation and management of Equinix Network Edge SSH users
---
# equinix_network_ssh_user (Resource)
-Resource `equinix_network_ssh_user` allows creation and management of Equinix Network Edge SSH users.
+Resource allows creation and management of Equinix Network Edge SSH users
-## Example Usage
-```terraform
-# Create SSH user with password auth method and associate it with
-# two virtual network devices
-resource "equinix_network_ssh_user" "john" {
- username = "john"
- password = "secret"
- device_ids = [
- equinix_network_device.csr1000v-ha.uuid,
- equinix_network_device.csr1000v-ha.redundant_uuid
- ]
-}
-```
+
+## Schema
-## Argument Reference
+### Required
-The following arguments are supported:
+- `device_ids` (Set of String) list of device identifiers to which user will have access
+- `password` (String, Sensitive) SSH user password
+- `username` (String) SSH user login name
-* `username` - (Required) SSH user login name.
-* `password` - (Required) SSH user password.
-* `device_ids` - (Required) list of device identifiers to which user will have access.
+### Read-Only
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - SSH user unique identifier.
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_network_ssh_user.example {existing_id}
-```
+- `id` (String) The ID of this resource.
+- `uuid` (String) SSH user unique identifier
diff --git a/templates/data-sources/ecx_l2_sellerprofile.md.tmpl b/templates/data-sources/ecx_l2_sellerprofile.md.tmpl
deleted file mode 100644
index d7a84bbb1..000000000
--- a/templates/data-sources/ecx_l2_sellerprofile.md.tmpl
+++ /dev/null
@@ -1,65 +0,0 @@
----
-subcategory: "Fabric"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# 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.
-
-## Example usage
-
-{{tffile "examples/data-sources/ecx_l2_sellerprofile/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Optional) Name of the seller profile.
-* `organization_name` - (Optional) Name of seller's organization.
-* `organization_global_name` - (Optional) Name of seller's global organization.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Unique identifier of the seller profile.
-* `description` - Seller Profile text description.
-* `speed_from_api` - Boolean that indicates if seller is deriving connection speed from an API call.
-* `speed_customization_allowed` - Boolean that indicates if seller allows customer to enter a custom connection speed.
-* `redundancy_required` - Boolean that indicate if seller requires connections to be redundant
-* `encapsulation` - Seller profile's encapsulation (either Dot1q or QinQ).
-* `speed_band` - One or more specifications of speed/bandwidth supported by given seller profile. See [Speed Band Attribute](#speed-band-attribute) below for more details.
-* `metro` - One or more specifications of metro locations supported by seller profile. See [Metro Attribute](#metro-attribute) below for more details.
-
-* `additional_info` - One or more specifications of additional buyer information attributes that can be provided in connection definition that uses given seller profile. See [Additional Info Attribute](#additional-info-attribute) below for more details.
-
-### Speed Band Attribute
-
-Each element in the `speed_band` set exports:
-
-* `speed` - Speed/bandwidth supported by given service profile.
-* `speed_unit` - Unit of the speed/bandwidth supported by given service profile.
-
-### Metro Attribute
-
-Each element in the `metro` set exports:
-
-* `code` - Location metro code.
-* `name` - Location metro name.
-* `ibxes` - List of IBXes supported within given metro.
-* `regions` - List of regions supported within given.
-
-### Additional Info Attribute
-
-Each element in the `additional_info` set exports:
-
-* `name` - Name of additional information attribute.
-* `description` - Textual description of additional information attribute.
-* `data_type` - Data type of additional information attribute. One of `BOOLEAN`, `INTEGER` or `STRING`.
-* `mandatory` - Specifies if additional information is mandatory to create connection.
diff --git a/templates/data-sources/ecx_l2_sellerprofiles.md.tmpl b/templates/data-sources/ecx_l2_sellerprofiles.md.tmpl
deleted file mode 100644
index e71095ac9..000000000
--- a/templates/data-sources/ecx_l2_sellerprofiles.md.tmpl
+++ /dev/null
@@ -1,35 +0,0 @@
----
-subcategory: "Fabric"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# 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.
-
-## Example usage
-
-{{tffile "examples/data-sources/ecx_l2_sellerprofiles/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name_regex` - (Optional) A regex string to apply on returned seller profile names and filter search results.
-* `metro_codes` - (Optional) List of metro codes of locations that should be served by resulting profiles.
-* `speed_bands` - (Optional) List of speed bands that should be supported by resulting profiles. (** Please see the note below for important information regarding the use of this argument**)
-* `organization_name` - (Optional) Name of seller's organization.
-* `organization_global_name` - (Optional) Name of seller's global organization.
-
--> **NOTE:** Some seller profiles (such as OCI) do not show the available `speed_bands` until the connection is validated. Therefore, using the `speed_bands` argument as a filter can cause false empty results. You can use the [equinix_ecx_l2_sellerprofile](./equinix_ecx_l2_sellerprofile.md) data source to ensure that the seller profile you need returns its `speed_bands` information.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `profiles` - List of resulting profiles. Each element in the `profiles` list exports all [Service Profile Attributes](./equinix_ecx_l2_sellerprofile.md#attributes-reference).
diff --git a/templates/data-sources/ecx_port.md.tmpl b/templates/data-sources/ecx_port.md.tmpl
deleted file mode 100644
index 6917d6ef7..000000000
--- a/templates/data-sources/ecx_port.md.tmpl
+++ /dev/null
@@ -1,38 +0,0 @@
----
-subcategory: "Fabric"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# 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
-
-{{tffile "examples/data-sources/ecx_port/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) Name of the port.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Unique identifier of the port.
-* `status` - Status of the port.
-* `region` - Port location region.
-* `ibx` - Port location Equinix Business Exchange (IBX).
-* `metro_code` - Port location metro code.
-* `priority` - The priority of the device (primary / secondary) where the port resides.
-* `encapsulation` - The VLAN encapsulation of the port (Dot1q or QinQ).
-* `buyout` - Boolean value that indicates whether the port supports unlimited connections. If `false`, the port is a standard port with limited connections. If `true`, the port is an `unlimited connections` port that allows multiple connections at no additional charge.
-* `bandwidth` - Port Bandwidth in bytes.
-* `status` - Port status that indicates whether a port has been assigned or is ready for connection.
diff --git a/templates/data-sources/fabric_cloud_router.md.tmpl b/templates/data-sources/fabric_cloud_router.md.tmpl
deleted file mode 100644
index ff27cc33f..000000000
--- a/templates/data-sources/fabric_cloud_router.md.tmpl
+++ /dev/null
@@ -1,127 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-page_title: "equinix_fabric_cloud_router Data Source - terraform-provider-equinix"
-subcategory: "Fabric"
-description: |-
- Fabric V4 API compatible data resource that allow user to fetch Fabric Cloud Router for a given UUID
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_clouder_router (Data Source)
-
-Fabric V4 API compatible data resource that allow user to fetch Fabric Cloud Router for a given UUID
-
-API documentation can be found here - https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#fabric-cloud-routers
-
-## Example Usage
-
-{{tffile "examples/data-sources/fabric_cloud_router/example_1.tf"}}
-
-
-
-## Schema
-
-### Required
-
-- `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) Number of IPv4 BGP routes in use (including non-distinct prefixes)
-- `bgp_ipv6_routes_count` (Number) Number of IPv6 BGP routes in use (including non-distinct prefixes)
-- `change_log` (Set of Object) Captures Fabric Cloud Router lifecycle change information (see [below for nested schema](#nestedatt--change_log))
-- `connections_count` (Number) Number of connections associated with this Fabric Cloud Router instance
-- `description` (String) Customer-provided Fabric Cloud Router description
-- `distinct_ipv4_prefixes_count` (Number) Number of distinct IPv4 routes
-- `distinct_ipv6_prefixes_count` (Number) Number of distinct IPv6 routes
-- `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 Type (see [below for nested schema](#nestedatt--package))
-- `project` (Set of Object) Customer resource hierarchy project information.Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects (see [below for nested schema](#nestedatt--project))
-- `state` (String) Fabric Cloud Router overall state
-- `type` (String) Defines the FCR type like; XF_ROUTER
-
-
-
-### Nested Schema for `account`
-
-Read-Only:
-
-- `account_number` (Number)
-
-
-
-### 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)
-
-
-
-### Nested Schema for `location`
-
-Read-Only:
-
-- `ibx` (String)
-- `metro_code` (String)
-- `metro_name` (String)
-- `region` (String)
-
-
-
-### Nested Schema for `notifications`
-
-Read-Only:
-
-- `emails` (List of String)
-- `send_interval` (String)
-- `type` (String)
-
-
-
-### Nested Schema for `order`
-
-Read-Only:
-
-- `billing_tier` (String)
-- `order_id` (String)
-- `order_number` (String)
-- `purchase_order_number` (String)
-
-
-
-### Nested Schema for `package`
-
-Read-Only:
-
-- `code` (String)
-
-
-
-### Nested Schema for `project`
-
-Read-Only:
-
-- `href` (String)
-- `project_id` (String)
diff --git a/templates/data-sources/fabric_connection.md.tmpl b/templates/data-sources/fabric_connection.md.tmpl
deleted file mode 100644
index d7cc1de1e..000000000
--- a/templates/data-sources/fabric_connection.md.tmpl
+++ /dev/null
@@ -1,514 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-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
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_connection (Data Source)
-
-Fabric V4 API compatible data resource that allow user to fetch connection for a given UUID
-
-## Example Usage
-
-{{tffile "examples/data-sources/fabric_connection/example_1.tf"}}
-
-
-
-## Schema
-
-### Required
-
-- `uuid` (String) Equinix-assigned connection identifier
-
-### Read-Only
-
-- `a_side` (Set of Object) Requester or Customer side connection configuration object of the multi-segment connection (see [below for nested schema](#nestedatt--a_side))
-- `account` (Set of Object) Customer account information that is associated with this connection (see [below for nested schema](#nestedatt--account))
-- `additional_info` (List of Map of String) Connection additional information
-- `bandwidth` (Number) Connection bandwidth in Mbps
-- `change_log` (Set of Object) Captures connection lifecycle change information (see [below for nested schema](#nestedatt--change_log))
-- `description` (String) Customer-provided connection description
-- `direction` (String) Connection directionality from the requester point of view
-- `href` (String) Connection URI information
-- `id` (String) The ID of this resource.
-- `is_remote` (Boolean) Connection property derived from access point locations
-- `name` (String) Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores
-- `notifications` (List of Object) Preferences for notifications on connection configuration or status changes (see [below for nested schema](#nestedatt--notifications))
-- `operation` (Set of Object) Connection type-specific operational data (see [below for nested schema](#nestedatt--operation))
-- `order` (Set of Object) Order details (see [below for nested schema](#nestedatt--order))
-- `project` (Set of Object) Project information (see [below for nested schema](#nestedatt--project))
-- `redundancy` (Set of Object) Connection Redundancy Configuration (see [below for nested schema](#nestedatt--redundancy))
-- `state` (String) Connection overall state
-- `type` (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC
-- `z_side` (Set of Object) Destination or Provider side connection configuration object of the multi-segment connection (see [below for nested schema](#nestedatt--z_side))
-
-
-
-### Nested Schema for `a_side`
-
-Read-Only:
-
-- `access_point` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point))
-- `additional_info` (List of Object) (see [below for nested schema](#nestedobjatt--a_side--additional_info))
-- `service_token` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--service_token))
-
-
-
-### Nested Schema for `a_side.access_point`
-
-Read-Only:
-
-- `account` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--account))
-- `authentication_key` (String)
-- `gateway` (Set of Object, Deprecated) **Deprecated** `gateway` Use `router` attribute instead (see [below for nested schema](#nestedobjatt--a_side--access_point--gateway))
-- `interface` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--interface))
-- `link_protocol` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--link_protocol))
-- `location` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--location))
-- `network` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--network))
-- `peering_type` (String)
-- `port` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--port))
-- `profile` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--profile))
-- `provider_connection_id` (String)
-- `router` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--router))
-- `seller_region` (String)
-- `type` (String)
-- `virtual_device` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--virtual_device))
-
-
-
-### Nested Schema for `a_side.access_point.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)
-- `ucm_id` (String)
-
-
-
-### Nested Schema for `a_side.access_point.gateway`
-
-Read-Only:
-
-- `href` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `a_side.access_point.interface`
-
-Read-Only:
-
-- `id` (Number)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `a_side.access_point.link_protocol`
-
-Read-Only:
-
-- `type` (String)
-- `vlan_c_tag` (Number)
-- `vlan_s_tag` (Number)
-- `vlan_tag` (Number)
-
-
-
-### Nested Schema for `a_side.access_point.location`
-
-Read-Only:
-
-- `ibx` (String)
-- `metro_code` (String)
-- `metro_name` (String)
-- `region` (String)
-
-
-
-### Nested Schema for `a_side.access_point.network`
-
-Read-Only:
-
-- `href` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `a_side.access_point.port`
-
-Read-Only:
-
-- `href` (String)
-- `name` (String)
-- `redundancy` (Set of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--port--redundancy))
-- `uuid` (String)
-
-
-
-### Nested Schema for `a_side.access_point.port.uuid`
-
-Read-Only:
-
-- `enabled` (Boolean)
-- `group` (String)
-- `priority` (String)
-
-
-
-### Nested Schema for `a_side.access_point.profile`
-
-Read-Only:
-
-- `access_point_type_configs` (List of Object) (see [below for nested schema](#nestedobjatt--a_side--access_point--profile--access_point_type_configs))
-- `description` (String)
-- `href` (String)
-- `name` (String)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `a_side.access_point.profile.uuid`
-
-Read-Only:
-
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `a_side.access_point.router`
-
-Read-Only:
-
-- `href` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `a_side.access_point.virtual_device`
-
-Read-Only:
-
-- `href` (String)
-- `name` (String)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `a_side.additional_info`
-
-Read-Only:
-
-- `key` (String)
-- `value` (String)
-
-
-
-### Nested Schema for `a_side.service_token`
-
-Read-Only:
-
-- `description` (String)
-- `href` (String)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### 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)
-- `ucm_id` (String)
-
-
-
-### 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)
-
-
-
-### Nested Schema for `notifications`
-
-Read-Only:
-
-- `emails` (List of String)
-- `send_interval` (String)
-- `type` (String)
-
-
-
-### Nested Schema for `operation`
-
-Read-Only:
-
-- `equinix_status` (String)
-- `errors` (List of Object) (see [below for nested schema](#nestedobjatt--operation--errors))
-- `provider_status` (String)
-
-
-
-### 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)
-
-
-
-### Nested Schema for `operation.errors.additional_info`
-
-Read-Only:
-
-- `property` (String)
-- `reason` (String)
-
-
-
-### Nested Schema for `order`
-
-Read-Only:
-
-- `billing_tier` (String)
-- `order_id` (String)
-- `order_number` (String)
-- `purchase_order_number` (String)
-
-
-
-### Nested Schema for `project`
-
-Read-Only:
-
-- `href` (String)
-- `project_id` (String)
-
-
-
-### Nested Schema for `redundancy`
-
-Read-Only:
-
-- `group` (String)
-- `priority` (String)
-
-
-
-### Nested Schema for `z_side`
-
-Read-Only:
-
-- `access_point` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point))
-- `additional_info` (List of Object) (see [below for nested schema](#nestedobjatt--z_side--additional_info))
-- `service_token` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--service_token))
-
-
-
-### Nested Schema for `z_side.access_point`
-
-Read-Only:
-
-- `account` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--account))
-- `authentication_key` (String)
-- `gateway` (Set of Object, Deprecated) **Deprecated** `gateway` Use `router` attribute instead (see [below for nested schema](#nestedobjatt--z_side--access_point--gateway))
-- `interface` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--interface))
-- `link_protocol` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--link_protocol))
-- `location` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--location))
-- `network` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--network))
-- `peering_type` (String)
-- `port` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--port))
-- `profile` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--profile))
-- `provider_connection_id` (String)
-- `router` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--router))
-- `seller_region` (String)
-- `type` (String)
-- `virtual_device` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--virtual_device))
-
-
-
-### Nested Schema for `z_side.access_point.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)
-- `ucm_id` (String)
-
-
-
-### Nested Schema for `z_side.access_point.gateway`
-
-Read-Only:
-
-- `href` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `z_side.access_point.interface`
-
-Read-Only:
-
-- `id` (Number)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `z_side.access_point.link_protocol`
-
-Read-Only:
-
-- `type` (String)
-- `vlan_c_tag` (Number)
-- `vlan_s_tag` (Number)
-- `vlan_tag` (Number)
-
-
-
-### Nested Schema for `z_side.access_point.location`
-
-Read-Only:
-
-- `ibx` (String)
-- `metro_code` (String)
-- `metro_name` (String)
-- `region` (String)
-
-
-
-### Nested Schema for `z_side.access_point.network`
-
-Read-Only:
-
-- `href` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `z_side.access_point.port`
-
-Read-Only:
-
-- `href` (String)
-- `name` (String)
-- `redundancy` (Set of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--port--redundancy))
-- `uuid` (String)
-
-
-
-### Nested Schema for `z_side.access_point.port.uuid`
-
-Read-Only:
-
-- `enabled` (Boolean)
-- `group` (String)
-- `priority` (String)
-
-
-
-### Nested Schema for `z_side.access_point.profile`
-
-Read-Only:
-
-- `access_point_type_configs` (List of Object) (see [below for nested schema](#nestedobjatt--z_side--access_point--profile--access_point_type_configs))
-- `description` (String)
-- `href` (String)
-- `name` (String)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `z_side.access_point.profile.uuid`
-
-Read-Only:
-
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `z_side.access_point.router`
-
-Read-Only:
-
-- `href` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `z_side.access_point.virtual_device`
-
-Read-Only:
-
-- `href` (String)
-- `name` (String)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `z_side.additional_info`
-
-Read-Only:
-
-- `key` (String)
-- `value` (String)
-
-
-
-### Nested Schema for `z_side.service_token`
-
-Read-Only:
-
-- `description` (String)
-- `href` (String)
-- `type` (String)
-- `uuid` (String)
diff --git a/templates/data-sources/fabric_network.md.tmpl b/templates/data-sources/fabric_network.md.tmpl
deleted file mode 100644
index bc86a33a5..000000000
--- a/templates/data-sources/fabric_network.md.tmpl
+++ /dev/null
@@ -1,109 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-page_title: "equinix_fabric_network Data Source - terraform-provider-equinix"
-subcategory: "Fabric"
-description: |-
- Fabric V4 API compatible data resource that allow user to fetch Fabric Network for a given UUID
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_network (Data Source)
-
-Fabric V4 API compatible data resource that allow user to fetch Fabric Network for a given UUID
-
-## Example Usage
-
-{{tffile "examples/data-sources/fabric_network/example_1.tf"}}
-
-
-
-## Schema
-
-### Required
-
-- `uuid` (String) Equinix-assigned network identifier
-
-### Read-Only
-
-- `change` (Set of Object) Information on asset change operation (see [below for nested schema](#nestedatt--change))
-- `change_log` (Set of Object) A permanent record of asset creation, modification, or deletion (see [below for nested schema](#nestedatt--change_log))
-- `connections_count` (Number) Number of connections associated with this network
-- `href` (String) Fabric Network URI information
-- `id` (String) The ID of this resource.
-- `location` (Set of Object) Fabric Network location (see [below for nested schema](#nestedatt--location))
-- `name` (String) Fabric Network name. An alpha-numeric 24 characters string which can include only hyphens and underscores
-- `notifications` (List of Object) Preferences for notifications on Fabric Network configuration or status changes (see [below for nested schema](#nestedatt--notifications))
-- `operation` (Set of Object) Network operation information that is associated with this Fabric Network (see [below for nested schema](#nestedatt--operation))
-- `project` (Set of Object) Fabric Network project (see [below for nested schema](#nestedatt--project))
-- `scope` (String) Fabric Network scope
-- `state` (String) Fabric Network overall state
-- `type` (String) Supported Network types - EVPLAN, EPLAN, IPWAN
-
-
-
-### Nested Schema for `change`
-
-Read-Only:
-
-- `href` (String)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### 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)
-
-
-
-### Nested Schema for `location`
-
-Read-Only:
-
-- `ibx` (String)
-- `metro_code` (String)
-- `metro_name` (String)
-- `region` (String)
-
-
-
-### Nested Schema for `notifications`
-
-Read-Only:
-
-- `emails` (List of String)
-- `send_interval` (String)
-- `type` (String)
-
-
-
-### Nested Schema for `operation`
-
-Read-Only:
-
-- `equinix_status` (String)
-
-
-
-### Nested Schema for `project`
-
-Read-Only:
-
-- `project_id` (String)
diff --git a/templates/data-sources/fabric_port.md.tmpl b/templates/data-sources/fabric_port.md.tmpl
deleted file mode 100644
index 46b804e31..000000000
--- a/templates/data-sources/fabric_port.md.tmpl
+++ /dev/null
@@ -1,140 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-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
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_port (Data Source)
-
-Fabric V4 API compatible data resource that allow user to fetch port by uuid
-
-## Example Usage
-
-{{tffile "examples/data-sources/fabric_port/example_1.tf"}}
-
-
-
-## Schema
-
-### Required
-
-- `uuid` (String) Equinix-assigned port identifier
-
-### Read-Only
-
-- `account` (Set of Object) Customer account information that is associated with this port (see [below for nested schema](#nestedatt--account))
-- `available_bandwidth` (Number) Port available bandwidth in Mbps
-- `bandwidth` (Number) Port bandwidth in Mbps
-- `change_log` (Set of Object) Captures port lifecycle change information (see [below for nested schema](#nestedatt--change_log))
-- `description` (String) Port description
-- `device` (Set of Object) Port device (see [below for nested schema](#nestedatt--device))
-- `encapsulation` (Set of Object) Port encapsulation protocol (see [below for nested schema](#nestedatt--encapsulation))
-- `href` (String) Port URI information
-- `id` (String) The ID of this resource.
-- `lag_enabled` (Boolean) Port Lag
-- `location` (Set of Object) Port location information (see [below for nested schema](#nestedatt--location))
-- `name` (String) Port name
-- `operation` (Set of Object) Port specific operational data (see [below for nested schema](#nestedatt--operation))
-- `redundancy` (Set of Object) Port redundancy information (see [below for nested schema](#nestedatt--redundancy))
-- `service_type` (String) Port service type
-- `state` (String) Port state
-- `type` (String) Port type
-- `used_bandwidth` (Number) Port used bandwidth in Mbps
-
-
-
-### 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)
-
-
-
-### 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)
-
-
-
-### Nested Schema for `device`
-
-Read-Only:
-
-- `name` (String)
-- `redundancy` (Set of Object) (see [below for nested schema](#nestedobjatt--device--redundancy))
-
-
-
-### Nested Schema for `device.redundancy`
-
-Read-Only:
-
-- `enabled` (Boolean)
-- `group` (String)
-- `priority` (String)
-
-
-
-### Nested Schema for `encapsulation`
-
-Read-Only:
-
-- `tag_protocol_id` (String)
-- `type` (String)
-
-
-
-### Nested Schema for `location`
-
-Read-Only:
-
-- `ibx` (String)
-- `metro_code` (String)
-- `metro_name` (String)
-- `region` (String)
-
-
-
-### Nested Schema for `operation`
-
-Read-Only:
-
-- `connection_count` (Number)
-- `op_status_changed_at` (String)
-- `operational_status` (String)
-
-
-
-### Nested Schema for `redundancy`
-
-Read-Only:
-
-- `enabled` (Boolean)
-- `group` (String)
-- `priority` (String)
diff --git a/templates/data-sources/fabric_ports.md.tmpl b/templates/data-sources/fabric_ports.md.tmpl
deleted file mode 100644
index 1bd4af7c9..000000000
--- a/templates/data-sources/fabric_ports.md.tmpl
+++ /dev/null
@@ -1,157 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-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
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_ports (Data Source)
-
-Fabric V4 API compatible data resource that allow user to fetch port by name
-
-## Example Usage
-
-{{tffile "examples/data-sources/fabric_ports/example_1.tf"}}
-
-
-
-## Schema
-
-### Required
-
-- `filters` (Block Set, Min: 1, Max: 1) name (see [below for nested schema](#nestedblock--filters))
-
-### Read-Only
-
-- `data` (List of Object) List of Ports (see [below for nested schema](#nestedatt--data))
-- `id` (String) The ID of this resource.
-
-
-
-### Nested Schema for `filters`
-
-Required:
-
-- `name` (String) Query Parameter to Get Ports By Name
-
-
-
-### Nested Schema for `data`
-
-Read-Only:
-
-- `account` (Set of Object) (see [below for nested schema](#nestedobjatt--data--account))
-- `available_bandwidth` (Number)
-- `bandwidth` (Number)
-- `change_log` (Set of Object) (see [below for nested schema](#nestedobjatt--data--change_log))
-- `description` (String)
-- `device` (Set of Object) (see [below for nested schema](#nestedobjatt--data--device))
-- `encapsulation` (Set of Object) (see [below for nested schema](#nestedobjatt--data--encapsulation))
-- `href` (String)
-- `lag_enabled` (Boolean)
-- `location` (Set of Object) (see [below for nested schema](#nestedobjatt--data--location))
-- `name` (String)
-- `operation` (Set of Object) (see [below for nested schema](#nestedobjatt--data--operation))
-- `redundancy` (Set of Object) (see [below for nested schema](#nestedobjatt--data--redundancy))
-- `service_type` (String)
-- `state` (String)
-- `type` (String)
-- `used_bandwidth` (Number)
-- `uuid` (String)
-
-
-
-### Nested Schema for `data.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)
-
-
-
-### Nested Schema for `data.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)
-
-
-
-### Nested Schema for `data.device`
-
-Read-Only:
-
-- `name` (String)
-- `redundancy` (Set of Object) (see [below for nested schema](#nestedobjatt--data--device--redundancy))
-
-
-
-### Nested Schema for `data.device.redundancy`
-
-Read-Only:
-
-- `enabled` (Boolean)
-- `group` (String)
-- `priority` (String)
-
-
-
-### Nested Schema for `data.encapsulation`
-
-Read-Only:
-
-- `tag_protocol_id` (String)
-- `type` (String)
-
-
-
-### Nested Schema for `data.location`
-
-Read-Only:
-
-- `ibx` (String)
-- `metro_code` (String)
-- `metro_name` (String)
-- `region` (String)
-
-
-
-### Nested Schema for `data.operation`
-
-Read-Only:
-
-- `connection_count` (Number)
-- `op_status_changed_at` (String)
-- `operational_status` (String)
-
-
-
-### Nested Schema for `data.redundancy`
-
-Read-Only:
-
-- `enabled` (Boolean)
-- `group` (String)
-- `priority` (String)
diff --git a/templates/data-sources/fabric_routing_protocol.md.tmpl b/templates/data-sources/fabric_routing_protocol.md.tmpl
deleted file mode 100644
index 488c5c883..000000000
--- a/templates/data-sources/fabric_routing_protocol.md.tmpl
+++ /dev/null
@@ -1,154 +0,0 @@
----
-# 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
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_routing_protocol (Data Source)
-
-Fabric V4 API compatible data resource that allow user to fetch routing protocol for a given UUID
-
-API documentation can be found here - https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#routing-protocols
-
-## Example Usage
-
-{{tffile "examples/data-sources/fabric_routing_protocol/example_1.tf"}}
-
-
-
-## Schema
-
-### Required
-
-- `connection_uuid` (String) Connection URI associated with Routing Protocol
-- `uuid` (String) Equinix-assigned routing protocol identifier
-
-### Read-Only
-
-- `bfd` (Set of Object) Bidirectional Forwarding Detection (see [below for nested schema](#nestedatt--bfd))
-- `bgp_auth_key` (String) BGP authorization key
-- `bgp_ipv4` (Set of Object) Routing Protocol BGP IPv4 (see [below for nested schema](#nestedatt--bgp_ipv4))
-- `bgp_ipv6` (Set of Object) Routing Protocol BGP IPv6 (see [below for nested schema](#nestedatt--bgp_ipv6))
-- `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))
-- `customer_asn` (Number) Customer-provided ASN
-- `description` (String) Customer-provided Fabric Routing Protocol description
-- `direct_ipv4` (Set of Object) Routing Protocol Direct IPv4 (see [below for nested schema](#nestedatt--direct_ipv4))
-- `direct_ipv6` (Set of Object) Routing Protocol Direct IPv6 (see [below for nested schema](#nestedatt--direct_ipv6))
-- `equinix_asn` (Number) Equinix ASN
-- `href` (String) Routing Protocol URI information
-- `id` (String) The ID of this resource.
-- `name` (String) Routing Protocol name. An alpha-numeric 24 characters string which can include only hyphens and underscores
-- `operation` (Set of Object) Routing Protocol type-specific operational data (see [below for nested schema](#nestedatt--operation))
-- `state` (String) Routing Protocol overall state
-- `type` (String) Defines the routing protocol type like BGP or DIRECT
-
-
-
-### Nested Schema for `bfd`
-
-Read-Only:
-
-- `enabled` (Boolean)
-- `interval` (String)
-
-
-
-### Nested Schema for `bgp_ipv4`
-
-Read-Only:
-
-- `customer_peer_ip` (String)
-- `enabled` (Boolean)
-- `equinix_peer_ip` (String)
-
-
-
-### Nested Schema for `bgp_ipv6`
-
-Read-Only:
-
-- `customer_peer_ip` (String)
-- `enabled` (Boolean)
-- `equinix_peer_ip` (String)
-
-
-
-### Nested Schema for `change`
-
-Read-Only:
-
-- `href` (String)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### 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)
-
-
-
-### Nested Schema for `direct_ipv4`
-
-Read-Only:
-
-- `equinix_iface_ip` (String)
-
-
-
-### Nested Schema for `direct_ipv6`
-
-Read-Only:
-
-- `equinix_iface_ip` (String)
-
-
-
-### Nested Schema for `operation`
-
-Read-Only:
-
-- `errors` (List of Object) (see [below for nested schema](#nestedobjatt--operation--errors))
-
-
-
-### 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)
-
-
-
-### Nested Schema for `operation.errors.additional_info`
-
-Read-Only:
-
-- `property` (String)
-- `reason` (String)
diff --git a/templates/data-sources/fabric_service_profile.md.tmpl b/templates/data-sources/fabric_service_profile.md.tmpl
deleted file mode 100644
index 8244f2f13..000000000
--- a/templates/data-sources/fabric_service_profile.md.tmpl
+++ /dev/null
@@ -1,250 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-page_title: "equinix_fabric_service_profile Data Source - terraform-provider-equinix"
-subcategory: "Fabric"
-description: |-
- Fabric V4 API compatible data resource that allow user to fetch Service Profile by UUID filter criteria
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_service_profile (Data Source)
-
-Fabric V4 API compatible data resource that allow user to fetch Service Profile by UUID filter criteria
-
-## Example Usage
-
-{{tffile "examples/data-sources/fabric_service_profile/example_1.tf"}}
-
-
-
-## Schema
-
-### Required
-
-- `uuid` (String) Equinix assigned service profile identifier
-
-### Read-Only
-
-- `access_point_type_configs` (List of Object) Access point config information (see [below for nested schema](#nestedatt--access_point_type_configs))
-- `account` (Set of Object) Service Profile Owner Account Information (see [below for nested schema](#nestedatt--account))
-- `allowed_emails` (List of String) Array of contact emails
-- `change_log` (Set of Object) Captures connection lifecycle change information (see [below for nested schema](#nestedatt--change_log))
-- `custom_fields` (List of Object) Custom Fields (see [below for nested schema](#nestedatt--custom_fields))
-- `description` (String) User-provided service description
-- `href` (String) Service Profile URI response attribute
-- `id` (String) The ID of this resource.
-- `marketing_info` (Set of Object) Marketing Info (see [below for nested schema](#nestedatt--marketing_info))
-- `metros` (List of Object) Access point config information (see [below for nested schema](#nestedatt--metros))
-- `name` (String) Customer-assigned service profile name
-- `notifications` (List of Object) Preferences for notifications on connection configuration or status changes (see [below for nested schema](#nestedatt--notifications))
-- `ports` (List of Object) Ports (see [below for nested schema](#nestedatt--ports))
-- `project` (Set of Object) Project information (see [below for nested schema](#nestedatt--project))
-- `self_profile` (Boolean) Self Profile indicating if the profile is created for customer's self use
-- `state` (String) Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED
-- `tags` (List of String) Tags attached to the connection
-- `type` (String) Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE
-- `virtual_devices` (List of Object) Virtual Devices (see [below for nested schema](#nestedatt--virtual_devices))
-- `visibility` (String) Service profile visibility - PUBLIC, PRIVATE
-
-
-
-### Nested Schema for `access_point_type_configs`
-
-Read-Only:
-
-- `allow_bandwidth_auto_approval` (Boolean)
-- `allow_bandwidth_upgrade` (Boolean)
-- `allow_custom_bandwidth` (Boolean)
-- `allow_remote_connections` (Boolean)
-- `api_config` (Set of Object) (see [below for nested schema](#nestedobjatt--access_point_type_configs--api_config))
-- `authentication_key` (Set of Object) (see [below for nested schema](#nestedobjatt--access_point_type_configs--authentication_key))
-- `bandwidth_alert_threshold` (Number)
-- `connection_label` (String)
-- `connection_redundancy_required` (Boolean)
-- `enable_auto_generate_service_key` (Boolean)
-- `link_protocol_config` (Set of Object) (see [below for nested schema](#nestedobjatt--access_point_type_configs--link_protocol_config))
-- `supported_bandwidths` (List of Number)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `access_point_type_configs.api_config`
-
-Read-Only:
-
-- `allow_over_subscription` (Boolean)
-- `api_available` (Boolean)
-- `bandwidth_from_api` (Boolean)
-- `equinix_managed_port` (Boolean)
-- `equinix_managed_vlan` (Boolean)
-- `integration_id` (String)
-- `over_subscription_limit` (Number)
-
-
-
-### Nested Schema for `access_point_type_configs.authentication_key`
-
-Read-Only:
-
-- `description` (String)
-- `label` (String)
-- `required` (Boolean)
-
-
-
-### Nested Schema for `access_point_type_configs.link_protocol_config`
-
-Read-Only:
-
-- `encapsulation` (String)
-- `encapsulation_strategy` (String)
-- `reuse_vlan_s_tag` (Boolean)
-
-
-
-### 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)
-- `ucm_id` (String)
-
-
-
-### 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)
-
-
-
-### Nested Schema for `custom_fields`
-
-Read-Only:
-
-- `capture_in_email` (Boolean)
-- `data_type` (String)
-- `description` (String)
-- `label` (String)
-- `options` (List of String)
-- `required` (Boolean)
-
-
-
-### Nested Schema for `marketing_info`
-
-Read-Only:
-
-- `logo` (String)
-- `process_step` (List of Object) (see [below for nested schema](#nestedobjatt--marketing_info--process_step))
-- `promotion` (Boolean)
-
-
-
-### Nested Schema for `marketing_info.process_step`
-
-Read-Only:
-
-- `description` (String)
-- `sub_title` (String)
-- `title` (String)
-
-
-
-### Nested Schema for `metros`
-
-Read-Only:
-
-- `code` (String)
-- `display_name` (String)
-- `ibxs` (List of String)
-- `in_trail` (Boolean)
-- `name` (String)
-- `seller_regions` (Map of String)
-
-
-
-### Nested Schema for `notifications`
-
-Read-Only:
-
-- `emails` (List of String)
-- `send_interval` (String)
-- `type` (String)
-
-
-
-### Nested Schema for `ports`
-
-Read-Only:
-
-- `cross_connect_id` (String)
-- `location` (Set of Object) (see [below for nested schema](#nestedobjatt--ports--location))
-- `seller_region` (String)
-- `seller_region_description` (String)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `ports.location`
-
-Read-Only:
-
-- `ibx` (String)
-- `metro_code` (String)
-- `metro_name` (String)
-- `region` (String)
-
-
-
-### Nested Schema for `project`
-
-Read-Only:
-
-- `href` (String)
-- `project_id` (String)
-
-
-
-### Nested Schema for `virtual_devices`
-
-Read-Only:
-
-- `interface_uuid` (String)
-- `location` (Set of Object) (see [below for nested schema](#nestedobjatt--virtual_devices--location))
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `virtual_devices.location`
-
-Read-Only:
-
-- `ibx` (String)
-- `metro_code` (String)
-- `metro_name` (String)
-- `region` (String)
diff --git a/templates/data-sources/fabric_service_profiles.md.tmpl b/templates/data-sources/fabric_service_profiles.md.tmpl
deleted file mode 100644
index aa41ad2fc..000000000
--- a/templates/data-sources/fabric_service_profiles.md.tmpl
+++ /dev/null
@@ -1,280 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-page_title: "equinix_fabric_service_profiles Data Source - terraform-provider-equinix"
-subcategory: "Fabric"
-description: |-
- Fabric V4 API compatible data resource that allow user to fetch Service Profile by name filter criteria
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_service_profiles (Data Source)
-
-Fabric V4 API compatible data resource that allow user to fetch Service Profile by name filter criteria
-
-## Example Usage
-
-{{tffile "examples/data-sources/fabric_service_profiles/example_1.tf"}}
-
-
-
-## Schema
-
-### Optional
-
-- `filter` (Block Set, Max: 1) Service Profile Search Filter (see [below for nested schema](#nestedblock--filter))
-- `sort` (Block List) Service Profile Sort criteria for Search Request response payload (see [below for nested schema](#nestedblock--sort))
-- `view_point` (String) flips view between buyer and seller representation. Available values : aSide, zSide. Default value : aSide
-
-### Read-Only
-
-- `data` (List of Object) List of Service Profiles (see [below for nested schema](#nestedatt--data))
-- `id` (String) The ID of this resource.
-
-
-
-### Nested Schema for `filter`
-
-Optional:
-
-- `operator` (String) Possible operator to use on filters = - equal
-- `property` (String) Search Criteria for Service Profile - /name, /uuid, /state, /metros/code, /visibility, /type
-- `values` (List of String) Values
-
-
-
-### Nested Schema for `sort`
-
-Optional:
-
-- `direction` (String) Priority type- DESC, ASC
-- `property` (String) Search operation sort criteria /name /state /changeLog/createdDateTime /changeLog/updatedDateTime
-
-
-
-### Nested Schema for `data`
-
-Read-Only:
-
-- `access_point_type_configs` (List of Object) (see [below for nested schema](#nestedobjatt--data--access_point_type_configs))
-- `account` (Set of Object) (see [below for nested schema](#nestedobjatt--data--account))
-- `allowed_emails` (List of String)
-- `change_log` (Set of Object) (see [below for nested schema](#nestedobjatt--data--change_log))
-- `custom_fields` (List of Object) (see [below for nested schema](#nestedobjatt--data--custom_fields))
-- `description` (String)
-- `href` (String)
-- `marketing_info` (Set of Object) (see [below for nested schema](#nestedobjatt--data--marketing_info))
-- `metros` (List of Object) (see [below for nested schema](#nestedobjatt--data--metros))
-- `name` (String)
-- `notifications` (List of Object) (see [below for nested schema](#nestedobjatt--data--notifications))
-- `ports` (List of Object) (see [below for nested schema](#nestedobjatt--data--ports))
-- `project` (Set of Object) (see [below for nested schema](#nestedobjatt--data--project))
-- `self_profile` (Boolean)
-- `state` (String)
-- `tags` (List of String)
-- `type` (String)
-- `uuid` (String)
-- `virtual_devices` (List of Object) (see [below for nested schema](#nestedobjatt--data--virtual_devices))
-- `visibility` (String)
-
-
-
-### Nested Schema for `data.access_point_type_configs`
-
-Read-Only:
-
-- `allow_bandwidth_auto_approval` (Boolean)
-- `allow_bandwidth_upgrade` (Boolean)
-- `allow_custom_bandwidth` (Boolean)
-- `allow_remote_connections` (Boolean)
-- `api_config` (Set of Object) (see [below for nested schema](#nestedobjatt--data--access_point_type_configs--api_config))
-- `authentication_key` (Set of Object) (see [below for nested schema](#nestedobjatt--data--access_point_type_configs--authentication_key))
-- `bandwidth_alert_threshold` (Number)
-- `connection_label` (String)
-- `connection_redundancy_required` (Boolean)
-- `enable_auto_generate_service_key` (Boolean)
-- `link_protocol_config` (Set of Object) (see [below for nested schema](#nestedobjatt--data--access_point_type_configs--link_protocol_config))
-- `supported_bandwidths` (List of Number)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `data.access_point_type_configs.api_config`
-
-Read-Only:
-
-- `allow_over_subscription` (Boolean)
-- `api_available` (Boolean)
-- `bandwidth_from_api` (Boolean)
-- `equinix_managed_port` (Boolean)
-- `equinix_managed_vlan` (Boolean)
-- `integration_id` (String)
-- `over_subscription_limit` (Number)
-
-
-
-### Nested Schema for `data.access_point_type_configs.authentication_key`
-
-Read-Only:
-
-- `description` (String)
-- `label` (String)
-- `required` (Boolean)
-
-
-
-### Nested Schema for `data.access_point_type_configs.link_protocol_config`
-
-Read-Only:
-
-- `encapsulation` (String)
-- `encapsulation_strategy` (String)
-- `reuse_vlan_s_tag` (Boolean)
-
-
-
-### Nested Schema for `data.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)
-- `ucm_id` (String)
-
-
-
-### Nested Schema for `data.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)
-
-
-
-### Nested Schema for `data.custom_fields`
-
-Read-Only:
-
-- `capture_in_email` (Boolean)
-- `data_type` (String)
-- `description` (String)
-- `label` (String)
-- `options` (List of String)
-- `required` (Boolean)
-
-
-
-### Nested Schema for `data.marketing_info`
-
-Read-Only:
-
-- `logo` (String)
-- `process_step` (List of Object) (see [below for nested schema](#nestedobjatt--data--marketing_info--process_step))
-- `promotion` (Boolean)
-
-
-
-### Nested Schema for `data.marketing_info.process_step`
-
-Read-Only:
-
-- `description` (String)
-- `sub_title` (String)
-- `title` (String)
-
-
-
-### Nested Schema for `data.metros`
-
-Read-Only:
-
-- `code` (String)
-- `display_name` (String)
-- `ibxs` (List of String)
-- `in_trail` (Boolean)
-- `name` (String)
-- `seller_regions` (Map of String)
-
-
-
-### Nested Schema for `data.notifications`
-
-Read-Only:
-
-- `emails` (List of String)
-- `send_interval` (String)
-- `type` (String)
-
-
-
-### Nested Schema for `data.ports`
-
-Read-Only:
-
-- `cross_connect_id` (String)
-- `location` (Set of Object) (see [below for nested schema](#nestedobjatt--data--ports--location))
-- `seller_region` (String)
-- `seller_region_description` (String)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `data.ports.location`
-
-Read-Only:
-
-- `ibx` (String)
-- `metro_code` (String)
-- `metro_name` (String)
-- `region` (String)
-
-
-
-### Nested Schema for `data.project`
-
-Read-Only:
-
-- `href` (String)
-- `project_id` (String)
-
-
-
-### Nested Schema for `data.virtual_devices`
-
-Read-Only:
-
-- `interface_uuid` (String)
-- `location` (Set of Object) (see [below for nested schema](#nestedobjatt--data--virtual_devices--location))
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `data.virtual_devices.location`
-
-Read-Only:
-
-- `ibx` (String)
-- `metro_code` (String)
-- `metro_name` (String)
-- `region` (String)
diff --git a/templates/data-sources/metal_connection.md.tmpl b/templates/data-sources/metal_connection.md.tmpl
deleted file mode 100644
index acdc2e8ad..000000000
--- a/templates/data-sources/metal_connection.md.tmpl
+++ /dev/null
@@ -1,58 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_connection (Data Source)
-
-Use this data source to retrieve a [connection resource](https://metal.equinix.com/developers/docs/networking/fabric/)
-
-~> Equinix Metal connection with with Service Token A-side / Z-side (service_token_type) is not generally available and may not be enabled yet for your organization.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_connection/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `connection_id` - (Required) ID of the connection resource.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `name` - Name of the connection resource.
-* `metro` - Slug of a metro to which the connection belongs.
-* `facility` - (**Deprecated**) Slug of a facility to which the connection belongs. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `contact_email` - The preferred email used for communication and notifications about the Equinix Fabric interconnection.
-* `redundancy` - Connection redundancy, reduntant or primary.
-* `type` - Connection type, dedicated or shared.
-* `project_id` - ID of project to which the connection belongs.
-* `speed` - Connection speed - Values will be in the format 'Mbps' or 'Gpbs', for example '100Mbps`, '50Gbps', etc.
-* `description` - Description of the connection resource.
-* `mode` - Mode for connections in IBX facilities with the dedicated type - standard or tunnel.
-* `tags` - String list of tags.
-* `vlans` - Attached VLANs. Only available in shared connection. One vlan for Primary/Single connection and two vlans for Redundant connection.
-* `service_token_type` - Type of service token, a_side or z_side. One available in shared connection.
-* `organization_id` - ID of the organization where the connection is scoped to.
-* `status` - Status of the connection resource.
-* `service_tokens` - List of connection service tokens with attributes
- * `id` - UUID of the service token required to configure the connection in Equinix Fabric with the [equinix_ecx_l2_connection](../resources/equinix_ecx_l2_connection.md) resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard).
- * `expires_at` - Expiration date of the service token.
- * `max_allowed_speed` - Maximum allowed speed for the service token, string like in the `speed` attribute.
- * `type` - Token type, `a_side` or `z_side`.
- * `role` - Token role, `primary` or `secondary`.
-* `ports` - List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`)
- * `name` - Port name.
- * `id` - Port UUID.
- * `role` - Port role - primary or secondary.
- * `speed` - Port speed in bits per second.
- * `status` - Port status.
- * `link_status` - Port link status.
- * `virtual_circuit_ids` - List of IDs of virtual cicruits attached to this port.
-* `token` - (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the [equinix_ecx_l2_connection](../resources/equinix_ecx_l2_connection.md) resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `service_tokens` instead.
diff --git a/templates/data-sources/metal_device.md.tmpl b/templates/data-sources/metal_device.md.tmpl
deleted file mode 100644
index 406060d26..000000000
--- a/templates/data-sources/metal_device.md.tmpl
+++ /dev/null
@@ -1,83 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_device (Data Source)
-
-The datasource can be used to fetch a single device.
-
-If you need to fetch a list of devices which meet filter criteria, you can use the [equinix_metal_devices](equinix_metal_devices.md) datasource.
-
-~> **Note:** All arguments including the `root_password` and `user_data` will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://developer.hashicorp.com/terraform/language/state/sensitive-data).
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_device/example_1.tf"}}
-
-{{tffile "examples/data-sources/metal_device/example_2.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `hostname` - (Optional) The device name.
-* `project_id` - (Optional) The id of the project in which the devices exists.
-* `device_id` - (Optional) Device ID.
-
--> **NOTE:** You should pass either `device_id`, or both `project_id` and `hostname`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `access_private_ipv4` - The ipv4 private IP assigned to the device.
-* `access_public_ipv4` - The ipv4 management IP assigned to the device.
-* `access_public_ipv6` - The ipv6 management IP assigned to the device.
-* `billing_cycle` - The billing cycle of the device (monthly or hourly).
-* `facility` - (**Deprecated**) The facility where the device is deployed. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `description` - Description string for the device.
-* `hardware_reservation_id` - The id of hardware reservation which this device occupies.
-* `id` - The ID of the device.
-* `metro` - The metro where the device is deployed
-* `network` - The device's private and public IP (v4 and v6) network details. See [Network Attribute](#network-attribute) below for more details.
-* `network_type` - L2 network type of the device, one of `layer3`, `layer2-bonded`, `layer2-individual`, `hybrid`.
-* `operating_system` - The operating system running on the device.
-* `plan` - The hardware config of the device.
-* `ports` - List of ports assigned to the device. See [Ports Attribute](#ports-attribute) below for more details.
-* `root_password` - Root password to the server (if still available).
-* `sos_hostname` - The hostname to use for [Serial over SSH](https://deploy.equinix.com/developers/docs/metal/resilience-recovery/serial-over-ssh/) access to the device
-* `ssh_key_ids` - List of IDs of SSH keys deployed in the device, can be both user or project SSH keys.
-* `state` - The state of the device.
-* `tags` - Tags attached to the device.
-
-### Network Attribute
-
-When a device is run without any special network, it will have 3 networks:
-
-* Public IPv4 at `equinix_metal_device.name.network.0`.
-* IPv6 at `equinix_metal_device.name.network.1`.
-* Private IPv4 at `equinix_metal_device.name.network.2`.
-
--> **NOTE:** Elastic addresses stack by type. An assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list).
-
-Each element in the `network` list exports:
-
-* `address` - IPv4 or IPv6 address string.
-* `cidr` - Bit length of the network mask of the address.
-* `gateway` - Address of router.
-* `public` - Whether the address is routable from the Internet.
-* `family` - IP version. One of `4`, `6`.
-
-### Ports Attribute
-
-Each element in the `ports` list exports:
-
-* `name` - Name of the port (e.g. `eth0`, or `bond0`).
-* `id` - ID of the port.
-* `type` - Type of the port (e.g. `NetworkPort` or `NetworkBondPort`).
-* `mac` - MAC address assigned to the port.
-* `bonded` - Whether this port is part of a bond in bonded network setup.
diff --git a/templates/data-sources/metal_device_bgp_neighbors.md.tmpl b/templates/data-sources/metal_device_bgp_neighbors.md.tmpl
deleted file mode 100644
index b34ab78b2..000000000
--- a/templates/data-sources/metal_device_bgp_neighbors.md.tmpl
+++ /dev/null
@@ -1,43 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_device_bgp_neighbors (Data Source)
-
-Use this datasource to retrieve list of BGP neighbors of a device in the Equinix Metal host.
-
-To have any BGP neighbors listed, the device must be in [BGP-enabled project](../r/project.html) and have a [BGP session](../r/bgp_session.html) assigned.
-
-To learn more about using BGP in Equinix Metal, see the [equinix_metal_bgp_session](../r/bgp_session.html) resource documentation.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_device_bgp_neighbors/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `device_id` - (Required) UUID of BGP-enabled device whose neighbors to list.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `bgp_neighbors` - array of BGP neighbor records with attributes:
- * `address_family` - IP address version, 4 or 6.
- * `customer_as` - Local autonomous system number.
- * `customer_ip` - Local used peer IP address.
- * `md5_enabled` - Whether BGP session is password enabled.
- * `md5_password` - BGP session password in plaintext (not a checksum).
- * `multihop` - Whether the neighbor is in EBGP multihop session.
- * `peer_as` - Peer AS number (different than customer_as for EBGP).
- * `peer_ips` - Array of IP addresses of this neighbor's peers.
- * `routes_in` - Array of incoming routes.
- * `route` - CIDR expression of route (IP/mask).
- * `exact` - (bool) Whether the route is exact.
- * `routes_out` - Array of outgoing routes in the same format.
diff --git a/templates/data-sources/metal_devices.md.tmpl b/templates/data-sources/metal_devices.md.tmpl
deleted file mode 100644
index 19de6fe1b..000000000
--- a/templates/data-sources/metal_devices.md.tmpl
+++ /dev/null
@@ -1,44 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_devices
-
-The datasource can be used to find a list of devices which meet filter criteria.
-
-If you need to fetch a single device by ID or by project ID and hostname, use the [equinix_metal_device](equinix_metal_device.md) datasource.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_devices/example_1.tf"}}
-
-{{tffile "examples/data-sources/metal_devices/example_2.tf"}}
-
-## search vs filter
-
-The difference between `search` and `filter` is that `search` is an API parameter, interpreted by the Equinix Metal service. The "filter" arguments will reduce the API list (or search) results by applying client-side filtering, within this provider.
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `project_id` - (Optional) ID of project containing the devices. Exactly one of `project_id` and `organization_id` must be set.
-* `organization_id` - (Optional) ID of organization containing the devices.
-* `search` - (Optional) - Search string to filter devices by hostname, description, short_id, reservation short_id, tags, plan name, plan slug, facility code, facility name, operating system name, operating system slug, IP addresses.
-* `filter` - (Optional) One or more attribute/values pairs to filter. List of atributes to filter can be found in the [attribute reference](equinix_metal_device.md#attributes-reference) of the `equinix_metal_device` datasource.
- - `attribute` - (Required) The attribute used to filter. Filter attributes are case-sensitive
- - `values` - (Required) The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR by default, and the request returns all results that match any of the specified values
- - `match_by` - (Optional) The type of comparison to apply. One of: `in` , `re`, `substring`, `less_than`, `less_than_or_equal`, `greater_than`, `greater_than_or_equal`. Default is `in`.
- - `all` - (Optional) If is set to true, the values are joined with an AND, and the requests returns only the results that match all specified values. Default is `false`.
-
-All fields in the `devices` block defined below can be used as attribute for both `sort` and `filter` blocks.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `devices` - list of resources with attributes like in the [equninix_metal_device datasources](equinix_metal_device.md).
diff --git a/templates/data-sources/metal_facility.md.tmpl b/templates/data-sources/metal_facility.md.tmpl
deleted file mode 100644
index 5f79d93d3..000000000
--- a/templates/data-sources/metal_facility.md.tmpl
+++ /dev/null
@@ -1,38 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_facility (Data Source)
-
-> **Deprecated** Use `equinix_metal_metro` instead. For more information, refer to the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices).
-
-Provides an Equinix Metal facility datasource.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_facility/example_1.tf"}}
-
-{{tffile "examples/data-sources/metal_facility/example_2.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `code` - (Required) The facility code to search for facilities.
-* `features_required` - (Optional) Set of feature strings that the facility must have. Some possible values are `baremetal`, `ibx`, `storage`, `global_ipv4`, `backend_transfer`, `layer_2`.
-* `capacity` - (Optional) One or more device plans for which the facility must have capacity.
- * `plan` - (Required) Device plan that must be available in selected location.
- * `quantity` - (Optional) Minimun number of devices that must be available in selected location. Default is `1`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The ID of the facility.
-* `name` - The name of the facility.
-* `features` - The features of the facility.
-* `metro` - The metro code the facility is part of.
diff --git a/templates/data-sources/metal_gateway.md.tmpl b/templates/data-sources/metal_gateway.md.tmpl
deleted file mode 100644
index 32f8813e4..000000000
--- a/templates/data-sources/metal_gateway.md.tmpl
+++ /dev/null
@@ -1,34 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_gateway (Data Source)
-
-Use this datasource to retrieve Metal Gateway resources in Equinix Metal.
-
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_gateway/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `gateway_id` - (Required) UUID of the metal gateway resource to retrieve.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `project_id` - UUID of the project where the gateway is scoped to.
-* `vlan_id` - UUID of the VLAN where the gateway is scoped to.
-* `vrf_id` - UUID of the VRF associated with the IP Reservation.
-* `ip_reservation_id` - UUID of IP reservation block bound to the gateway.
-* `private_ipv4_subnet_size` - Size of the private IPv4 subnet bound to this metal gateway. One of `8`, `16`, `32`, `64`, `128`.
-* `state` - Status of the gateway resource.
diff --git a/templates/data-sources/metal_hardware_reservation.md.tmpl b/templates/data-sources/metal_hardware_reservation.md.tmpl
deleted file mode 100644
index ab8755c81..000000000
--- a/templates/data-sources/metal_hardware_reservation.md.tmpl
+++ /dev/null
@@ -1,38 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_hardware_reservation (Data Source)
-
-Use this data source to retrieve a [hardware reservation resource from Equinix Metal](https://metal.equinix.com/developers/docs/deploy/reserved/).
-
-You can look up hardware reservation by its ID or by ID of device which occupies it.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_hardware_reservation/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `id` - (Optional) ID of the hardware reservation.
-* `device_id` - (Optional) UUID of device occupying the reservation.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - ID of the hardware reservation to look up.
-* `short_id` - Reservation short ID.
-* `project_id` - UUID of project this reservation is scoped to.
-* `device_id` - UUID of device occupying the reservation.
-* `plan` - Plan type for the reservation.
-* `facility` - (**Deprecated**) Facility for the reservation. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `provisionable` - Flag indicating whether the reserved server is provisionable or not. Spare devices can't be provisioned unless they are activated first.
-* `spare` - Flag indicating whether the Hardware Reservation is a spare. Spare Hardware Reservations are used when a Hardware Reservations requires service from Metal Equinix.
-* `switch_uuid` - Switch short ID, can be used to determine if two devices are connected to the same switch.
diff --git a/templates/data-sources/metal_ip_block_ranges.md.tmpl b/templates/data-sources/metal_ip_block_ranges.md.tmpl
deleted file mode 100644
index 7923b2f8b..000000000
--- a/templates/data-sources/metal_ip_block_ranges.md.tmpl
+++ /dev/null
@@ -1,36 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_ip_block_ranges (Data Source)
-
-Use this datasource to get CIDR expressions for allocated IP blocks of all the types in a project, optionally filtered by facility or metro.
-
-There are four types of IP blocks in Equinix: equinix_metal_global IPv4, public IPv4, private IPv4 and IPv6. Both global and public IPv4 are routable from the Internet. Public IPv4 blocks are allocated in a facility or metro, and addresses from it can only be assigned to devices in that location. Addresses from Global IPv4 block can be assigned to a device in any metro.
-
-The datasource has 4 list attributes: `global_ipv4`, `public_ipv4`, `private_ipv4` and `ipv6`, each listing CIDR notation (`/`) of respective blocks from the project.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_ip_block_ranges/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `project_id` - (Required) ID of the project from which to list the blocks.
-* `facility` - (**Deprecated**) Facility code filtering the IP blocks. Global IPv4 blocks will be listed anyway. If you omit this and metro, all the block from the project will be listed. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `metro` - (Optional) Metro code filtering the IP blocks. Global IPv4 blocks will be listed anyway. If you omit this and facility, all the block from the project will be listed.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `global_ipv4` - list of CIDR expressions for Global IPv4 blocks in the project.
-* `public_ipv4` - list of CIDR expressions for Public IPv4 blocks in the project.
-* `private_ipv4` - list of CIDR expressions for Private IPv4 blocks in the project.
-* `ipv6` - list of CIDR expressions for IPv6 blocks in the project.
diff --git a/templates/data-sources/metal_metro.md.tmpl b/templates/data-sources/metal_metro.md.tmpl
deleted file mode 100644
index ecd67b615..000000000
--- a/templates/data-sources/metal_metro.md.tmpl
+++ /dev/null
@@ -1,34 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_metro (Data Source)
-
-Provides an Equinix Metal metro datasource.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_metro/example_1.tf"}}
-
-{{tffile "examples/data-sources/metal_metro/example_2.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `code` - (Required) The metro code to search for.
-* `capacity` - (Optional) One or more device plans for which the metro must have capacity.
- * `plan` - (Required) Device plan that must be available in selected location.
- * `quantity` - (Optional) Minimum number of devices that must be available in selected location. Default is `1`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The ID of the metro.
-* `name` - The name of the metro.
-* `country` - The country of the metro.
diff --git a/templates/data-sources/metal_operating_system.md.tmpl b/templates/data-sources/metal_operating_system.md.tmpl
deleted file mode 100644
index e1af73221..000000000
--- a/templates/data-sources/metal_operating_system.md.tmpl
+++ /dev/null
@@ -1,31 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_operating_system (Data Source)
-
-Use this data source to get Equinix Metal Operating System image.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_operating_system/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `distro` - (Optional) Name of the OS distribution.
-* `name` - (Optional) Name or part of the name of the distribution. Case insensitive.
-* `provisionable_on` - (Optional) Plan name.
-* `version` - (Optional) Version of the distribution.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - Operating system slug.
-* `slug` - Operating system slug (same as `id`).
diff --git a/templates/data-sources/metal_organization.md.tmpl b/templates/data-sources/metal_organization.md.tmpl
deleted file mode 100644
index 6d2153f9a..000000000
--- a/templates/data-sources/metal_organization.md.tmpl
+++ /dev/null
@@ -1,40 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_organization (Data Source)
-
-Provides an Equinix Metal organization datasource.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_organization/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Optional) The organization name.
-* `organization_id` - (Optional) The UUID of the organization resource.
-
-Exactly one of `name` or `organization_id` must be given.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `project_ids` - UUIDs of project resources which belong to this organization.
-* `description` - Description string.
-* `website` - Website link.
-* `twitter` - Twitter handle.
-* `logo` - Logo URL.
-* `address` - Address information
- * `address` - Postal address.
- * `city` - City name.
- * `country` - Two letter country code (ISO 3166-1 alpha-2), e.g. US.
- * `zip_code` - Zip Code.
- * `state` - State name.
diff --git a/templates/data-sources/metal_plans.md.tmpl b/templates/data-sources/metal_plans.md.tmpl
deleted file mode 100644
index 5a127fc6c..000000000
--- a/templates/data-sources/metal_plans.md.tmpl
+++ /dev/null
@@ -1,66 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_plans
-
-Provides an Equinix Metal plans datasource. This can be used to find plans that meet a filter criteria.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_plans/example_1.tf"}}
-
-{{tffile "examples/data-sources/metal_plans/example_2.tf"}}
-
-### Ignoring Changes to Plans/Metro
-
-Preserve deployed device plan, facility and metro when creating a new execution plan.
-
-As described in the [`data-resource-behavior`](https://www.terraform.io/language/data-sources#data-resource-behavior), terraform reads data resources during the planning phase in both the terraform plan and terraform apply commands. If the output from the data source is different to the prior state, it will propose changes to resources where there is a reference to their attributes.
-
-For `equinix_metal_plans`, it may happen that a device plan is no longer available in a metro because there is no stock at that time or you were using a legacy server plan, and thus the returned list of plans matching your search criteria will be different from last `plan`/`apply`. Therefore, if a resource such as a `equinix_metal_device` uses the output of this data source to select a device plan or metro, the Terraform plan will report that the `equinix_metal_device` needs to be recreated.
-
-To prevent that you can take advantage of the Terraform [`lifecycle ignore_changes`](https://www.terraform.io/language/meta-arguments/lifecycle#ignore_changes) feature as shown in the example below.
-
-{{tffile "examples/data-sources/metal_plans/example_3.tf"}}
-
-If your use case requires dynamic changes of a device plan or metro you can define the lifecycle with a condition.
-
-{{tffile "examples/data-sources/metal_plans/example_4.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `sort` - (Optional) One or more attribute/direction pairs on which to sort results. If multiple sorts are provided, they will be applied in order
- - `attribute` - (Required) The attribute used to sort the results. Sort attributes are case-sensitive
- - `direction` - (Optional) Sort results in ascending or descending order. Strings are sorted in alphabetical order. One of: asc, desc
-* `filter` - (Optional) One or more attribute/values pairs to filter off of
- - `attribute` - (Required) The attribute used to filter. Filter attributes are case-sensitive
- - `values` - (Required) The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR by default, and the request returns all results that match any of the specified values
- - `match_by` - (Optional) The type of comparison to apply. One of: `in` , `re`, `substring`, `less_than`, `less_than_or_equal`, `greater_than`, `greater_than_or_equal`. Default is `in`.
- - `all` - (Optional) If is set to true, the values are joined with an AND, and the requests returns only the results that match all specified values. Default is `false`.
-
-All fields in the `plans` block defined below can be used as attribute for both `sort` and `filter` blocks.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `plans`
- - `id` - id of the plan
- - `name` - name of the plan
- - `slug`- plan slug
- - `description`- description of the plan
- - `line`- plan line, e.g. baremetal
- - `legacy`- flag showing if it's a legacy plan
- - `class`- plan class
- - `pricing_hour`- plan hourly price
- - `pricing_month`- plan monthly price
- - `deployment_types`- list of deployment types, e.g. on_demand, spot_market
- - `available_in`- (**Deprecated**) list of facilities where the plan is available
- - `available_in_metros`- list of metros where the plan is available
diff --git a/templates/data-sources/metal_port.md.tmpl b/templates/data-sources/metal_port.md.tmpl
deleted file mode 100644
index f91f548bf..000000000
--- a/templates/data-sources/metal_port.md.tmpl
+++ /dev/null
@@ -1,40 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_port (Data Source)
-
-Use this data source to read ports of existing devices. You can read port by either its UUID, or by a device UUID and port name.
-
-## Example Usage
-
-Create a device and read it's eth0 port to the datasource.
-
-{{tffile "examples/data-sources/metal_port/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `port_id` - (Optional) ID of the port to read, conflicts with `device_id`.
-* `device_id` - (Optional) Device UUID where to lookup the port.
-* `name` - (Optional) Name of the port to look up, i.e. `bond0`, `eth1`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `network_type` - One of `layer2-bonded`, `layer2-individual`, `layer3`, `hybrid`, `hybrid-bonded`.
-* `type` - Type is either `NetworkBondPort` for bond ports or `NetworkPort` for bondable ethernet ports.
-* `mac` - MAC address of the port.
-* `bond_id` - UUID of the bond port.
-* `bond_name` - Name of the bond port.
-* `bonded` - Flag indicating whether the port is bonded.
-* `disbond_supported` - Flag indicating whether the port can be removed from a bond.
-* `native_vlan_id` - UUID of native VLAN of the port.
-* `vlan_ids` - UUIDs of attached VLANs.
-* `vxlan_ids` - VXLAN ids of attached VLANs.
diff --git a/templates/data-sources/metal_precreated_ip_block.md.tmpl b/templates/data-sources/metal_precreated_ip_block.md.tmpl
deleted file mode 100644
index 332c608f1..000000000
--- a/templates/data-sources/metal_precreated_ip_block.md.tmpl
+++ /dev/null
@@ -1,38 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_precreated_ip_block (Data Source)
-
-Use this data source to get CIDR expression for precreated (management) IPv6 and IPv4 blocks in Equinix Metal. You can then use the cidrsubnet TF builtin function to derive subnets.
-
-~> For backward compatibility, this data source will also return reserved (elastic) IP blocks.
-
--> Precreated (management) IP blocks for a metro will not be available until first device is created in that metro.
-
--> Public IPv4 blocks auto-assigned (management) to a device cannot be retrieved. If you need that information, consider using the [equinix_metal_device](equinix_metal_device.md) data source instead.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_precreated_ip_block/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `project_id` - (Required) ID of the project where the searched block should be.
-* `address_family` - (Required) 4 or 6, depending on which block you are looking for.
-* `public` - (Required) Whether to look for public or private block.
-* `global` - (Optional) Whether to look for global block. Default is false for backward compatibility.
-* `facility` - (**Deprecated**) Facility of the searched block. (for non-global blocks). Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `metro` - (Optional) Metro of the searched block (for non-global blocks).
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `cidr_notation` - CIDR notation of the looked up block.
diff --git a/templates/data-sources/metal_project.md.tmpl b/templates/data-sources/metal_project.md.tmpl
deleted file mode 100644
index 59f7c0e4e..000000000
--- a/templates/data-sources/metal_project.md.tmpl
+++ /dev/null
@@ -1,42 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_project (Data Source)
-
-Use this datasource to retrieve attributes of the Project API resource.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_project/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Optional) The name which is used to look up the project.
-* `project_id` - (Optional) The UUID by which to look up the project.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `payment_method_id` - The UUID of payment method for this project.
-* `organization_id` - The UUID of this project's parent organization.
-* `backend_transfer` - Whether Backend Transfer is enabled for this project.
-* `created` - The timestamp for when the project was created.
-* `updated` - The timestamp for the last time the project was updated.
-* `user_ids` - List of UUIDs of user accounts which belong to this project.
-* `bgp_config` - Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-global-bgp/).
-
-The `bgp_config` block contains:
-
-* `asn` - Autonomous System Number for local BGP deployment.
-* `md5` - Password for BGP session in plaintext (not a checksum).
-* `deployment_type` - One of `private`, `public`.
-* `status` - Status of BGP configuration in the project.
-* `max_prefix` - The maximum number of route filters allowed per server.
diff --git a/templates/data-sources/metal_project_ssh_key.md.tmpl b/templates/data-sources/metal_project_ssh_key.md.tmpl
deleted file mode 100644
index c781ad745..000000000
--- a/templates/data-sources/metal_project_ssh_key.md.tmpl
+++ /dev/null
@@ -1,38 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_project_ssh_key (Data Source)
-
-Use this datasource to retrieve attributes of a Project SSH Key API resource.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_project_ssh_key/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `search` - (Optional) The name, fingerprint, or public_key of the SSH Key to search for in the Equinix Metal project.
-* `id` - (Optional) The id of the SSH Key to search for in the Equinix Metal project.
-* `project_id` - (Optional) The Equinix Metal project id of the Equinix Metal SSH Key.
-
--> **NOTE:** One of either `search` or `id` must be provided along with `project_id`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the key.
-* `name` - The name of the SSH key.
-* `public_key` - The text of the public key.
-* `project_id` - The ID of parent project.
-* `owner_id` - The ID of parent project (same as project_id).
-* `fingerprint` - The fingerprint of the SSH key.
-* `created` - The timestamp for when the SSH key was created.
-* `updated` - The timestamp for the last time the SSH key was updated.
diff --git a/templates/data-sources/metal_reserved_ip_block.md.tmpl b/templates/data-sources/metal_reserved_ip_block.md.tmpl
deleted file mode 100644
index a9749a314..000000000
--- a/templates/data-sources/metal_reserved_ip_block.md.tmpl
+++ /dev/null
@@ -1,37 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_reserved_ip_block (Data Source)
-
-Use this data source to find IP address blocks in Equinix Metal. You can use IP address or a block ID for lookup.
-
-~> For backward compatibility, this data source can be also used for precreated (management) IP blocks.
-
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-
-## Example Usage
-
-Look up an IP address for a domain name, then use the IP to look up the containing IP block and run a device with IP address from the block:
-
-{{tffile "examples/data-sources/metal_reserved_ip_block/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `id` - (Optional) UUID of the IP address block to look up.
-* `project_id` - (Optional) UUID of the project where the searched block should be.
-* `ip_address` - (Optional) Block containing this IP address will be returned.
-
--> **NOTE:** You should pass either `id`, or both `project_id` and `ip_address`.
-
-## Attributes Reference
-
-This datasource exposes the same attributes as the [equinix_metal_reserved_ip_block](../resources/equinix_metal_reserved_ip_block.md) resource, with the following differences:
-
-* `type` - One of `global_ipv4`, `public_ipv4`, `private_ipv4`, `public_ipv6`,or `vrf`
diff --git a/templates/data-sources/metal_spot_market_price.md.tmpl b/templates/data-sources/metal_spot_market_price.md.tmpl
deleted file mode 100644
index 804770c43..000000000
--- a/templates/data-sources/metal_spot_market_price.md.tmpl
+++ /dev/null
@@ -1,31 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_operating_system (Data Source)
-
-Use this data source to get Equinix Metal Spot Market Price for a plan.
-
-## Example Usage
-
-Lookup by metro:
-
-{{tffile "examples/data-sources/metal_spot_market_price/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `plan` - (Required) Name of the plan.
-* `facility` - (**Deprecated**) Name of the facility. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `metro` - (Optional) Name of the metro.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `price` - Current spot market price for given plan in given facility.
diff --git a/templates/data-sources/metal_spot_market_request.md.tmpl b/templates/data-sources/metal_spot_market_request.md.tmpl
deleted file mode 100644
index 2d48268d2..000000000
--- a/templates/data-sources/metal_spot_market_request.md.tmpl
+++ /dev/null
@@ -1,54 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_spot_market_request (Data Source)
-
-Provides an Equinix Metal spot_market_request datasource. The datasource will contain list of device IDs created by referenced Spot Market Request.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_spot_market_request/example_1.tf"}}
-
-With the code as `main.tf`, first create the spot market request:
-
-```shell
-terraform apply -target equinix_metal_spot_market_request.req
-```
-
-When the terraform run ends, run a full apply, and the IPv4 addresses will be printed:
-
-```shell
-$ terraform apply
-
-[...]
-
-ips = [
- "947.85.199.231",
- "947.85.194.181",
-]
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `request_id` - (Required) The id of the Spot Market Request.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `device_ids` - List of IDs of devices spawned by the referenced Spot Market Request.
-* `devices_min` - Miniumum number devices to be created.
-* `devices_max` - Maximum number devices to be created.
-* `max_bid_price` - Maximum price user is willing to pay per hour per device.
-* `facilities` - (**Deprecated**) Facility IDs where devices should be created. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `metro` - Metro where devices should be created.
-* `project_id` - Project ID.
-* `plan` - The device plan slug.
-* `end_at` - Date and time When the spot market request will be ended.
diff --git a/templates/data-sources/metal_virtual_circuit.md.tmpl b/templates/data-sources/metal_virtual_circuit.md.tmpl
deleted file mode 100644
index fbc9087cc..000000000
--- a/templates/data-sources/metal_virtual_circuit.md.tmpl
+++ /dev/null
@@ -1,45 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_virtual_circuit (Data Source)
-
-Use this data source to retrieve a virtual circuit resource from [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/)
-
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_virtual_circuit/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `virtual_circuit_id` - (Required) ID of the virtual circuit resource
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `name` - Name of the virtual circuit resource.
-* `connection_id` - UUID of Connection where the VC is scoped to.
-* `status` - Status of the virtal circuit.
-* `port_id` - UUID of the Connection Port where the VC is scoped to.
-* `project_id` - ID of project to which the VC belongs.
-* `vnid`, `nni_vlan`, `nni_nvid` - VLAN parameters, see the [documentation for Equinix Fabric](https://metal.equinix.com/developers/docs/networking/fabric/).
-* `description` - Description for the Virtual Circuit resource.
-* `tags` - Tags for the Virtual Circuit resource.
-* `speed` - Speed of the Virtual Circuit resource.
-* `vrf_id` - UUID of the VLAN to associate.
-* `peer_asn` - The BGP ASN of the peer. The same ASN may be the used across several VCs, but it cannot be the same as the local_asn of the VRF.
-* `subnet` - A subnet from one of the IP blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /30 or /31.
- * For a /31 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
- * For a /30 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
-* `metal_ip` - The Metal IP address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the subnet.
-* `customer_ip` - The Customer IP address which the CSR switch will peer with. Will default to the other usable IP in the subnet.
-* `md5` - The password that can be set for the VRF BGP peer
diff --git a/templates/data-sources/metal_vlan.md.tmpl b/templates/data-sources/metal_vlan.md.tmpl
deleted file mode 100644
index 00602c352..000000000
--- a/templates/data-sources/metal_vlan.md.tmpl
+++ /dev/null
@@ -1,40 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_vlan (Data Source)
-
-Provides an Equinix Metal Virtual Network datasource. VLANs data sources can be searched by VLAN UUID, or project UUID and vxlan number.
-
-## Example Usage
-
-Fetch a vlan by ID:
-
-{{tffile "examples/data-sources/metal_vlan/example_1.tf"}}
-
-Fetch a vlan by project ID, vxlan and metro
-
-{{tffile "examples/data-sources/metal_vlan/example_2.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `vlan_id` - (Optional) Metal UUID of the VLAN resource to look up.
-* `project_id` - (Optional) UUID of parent project of the VLAN. Use together with the vxlan number and metro or facility.
-* `vxlan` - (Optional) vxlan number of the VLAN to look up. Use together with the project_id and metro or facility.
-* `facility` - (Optional) Facility where the VLAN is deployed. Deprecated, see https://feedback.equinixmetal.com/changelog/bye-facilities-hello-again-metros
-* `metro` - (Optional) Metro where the VLAN is deployed.
-
--> **NOTE:** You must set either `vlan_id` or a combination of `vxlan`, `project_id`, and, `metro` or `facility`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `description` - Description text of the VLAN resource.
-* `assigned_devices_ids` - List of device ID to which this VLAN is assigned.
diff --git a/templates/data-sources/metal_vrf.md.tmpl b/templates/data-sources/metal_vrf.md.tmpl
deleted file mode 100644
index a1ab3ac3c..000000000
--- a/templates/data-sources/metal_vrf.md.tmpl
+++ /dev/null
@@ -1,34 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_virtual_circuit (Data Source)
-
-Use this data source to retrieve a VRF resource.
-
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-
-## Example Usage
-
-{{tffile "examples/data-sources/metal_vrf/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `vrf_id` - (Required) ID of the VRF resource
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `name` - User-supplied name of the VRF, unique to the project
-* `metro` - Metro ID or Code where the VRF will be deployed.
-* `project_id` - Project ID where the VRF will be deployed.
-* `description` - Description of the VRF.
-* `local_asn` - The 4-byte ASN set on the VRF.
-* `ip_ranges` - All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.
diff --git a/templates/data-sources/network_account.md.tmpl b/templates/data-sources/network_account.md.tmpl
deleted file mode 100644
index 9644fc3a3..000000000
--- a/templates/data-sources/network_account.md.tmpl
+++ /dev/null
@@ -1,33 +0,0 @@
----
-subcategory: "Network Edge"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_network_account (Data Source)
-
-Use this data source to get number and identifier of Equinix Network Edge billing account in a given metro location.
-
-Billing account reference is required to create Network Edge virtual device in corresponding metro location.
-
-## Example Usage
-
-{{tffile "examples/data-sources/network_account/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `metro_code` - (Required) Account location metro code.
-* `name` - (Optional) Account name for filtering.
-* `status` - (Optional) Account status for filtering. Possible values are: `Active`, `Processing`, `Submitted`, `Staged`.
-* `project_id` - (Optional) Unique Identifier for the project resource where the account is scoped to.If you leave it out, all the billing accounts under all projects in your organization will be returned and it may return more than one account.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `number` - Account unique number.
-* `ucm_id` - Account unique identifier.
diff --git a/templates/data-sources/network_device.md.tmpl b/templates/data-sources/network_device.md.tmpl
deleted file mode 100644
index 433ce43a3..000000000
--- a/templates/data-sources/network_device.md.tmpl
+++ /dev/null
@@ -1,72 +0,0 @@
----
-subcategory: "Network Edge"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_network_device (Data Source)
-
-Use this data source to get Equinix Network Edge device details.
-
-## Example Usage
-
-{{tffile "examples/data-sources/network_device/example_1.tf"}}
-
-## Argument Reference
-
-* `uuid` - (Optional) UUID of an existing Equinix Network Edge device
-* `name` - (Optional) Name of an existing Equinix Network Edge device
-* `valid_status_list` - (Optional) Device states to be considered valid when searching for a device by name
-
-NOTE: Exactly one of either `uuid` or `name` must be specified.
-
-## Attributes Reference
-
-* `uuid` - Device unique identifier
-* `status` - Device provisioning status
- * INITIALIZING
- * PROVISIONING
- * PROVISIONED (**NOTE: By default data source will only return devices in this state. To include other states see `valid_state_list`**)
- * WAITING_FOR_PRIMARY
- * WAITING_FOR_SECONDARY
- * WAITING_FOR_REPLICA_CLUSTER_NODES
- * CLUSTER_SETUP_IN_PROGRESS
- * FAILED
- * DEPROVISIONING
- * DEPROVISIONED
- * RESOURCE_UPGRADE_IN_PROGRESS
- * RESOURCE_UPGRADE_FAILED
-* `valid_status_list` - Comma separated list of device states (from see `status` for full list) to be considered valid. Default is 'PROVISIONED'. Case insensitive.
-* `license_status` - Device license registration status
- * APPLYING_LICENSE
- * REGISTERED
- * APPLIED
- * WAITING_FOR_CLUSTER_SETUP
- * REGISTRATION_FAILED
- * NA
-* `license_file_id` - Unique identifier of applied license file
-* `ibx` - Device location Equinix Business Exchange name
-* `region` - Device location region
-* `acl_template_id` - Unique identifier of applied ACL template
-* `ssh_ip_address` - IP address of SSH enabled interface on the device
-* `ssh_ip_fqdn` - FQDN of SSH enabled interface on the device
-* `redundancy_type` - Device redundancy type applicable for HA devices, either primary or secondary
-* `redundant_id` - Unique identifier for a redundant device applicable for HA devices
-* `interface` - List of device interfaces
- * `interface.#.id` - interface identifier
- * `interface.#.name` - interface name
- * `interface.#.status` - interface status (AVAILABLE, RESERVED, ASSIGNED)
- * `interface.#.operational_status` - interface operational status (up or down)
- * `interface.#.mac_address` - interface MAC address
- * `interface.#.ip_address` - interface IP address
- * `interface.#.assigned_type` - interface management type (Equinix Managed or empty)
- * `interface.#.type` - interface type
-* `asn` - Autonomous system number
-* `zone_code` - Device location zone code
-* `cluster_id` - The id of the cluster
-* `num_of_nodes` - The number of nodes in the cluster
-* `connectivity` - Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT)
-* `diverse_device_id` - diverse device uuid
-* `diverse_device_name` - Name of the device with diverse device UUID
diff --git a/templates/data-sources/network_device_platform.md.tmpl b/templates/data-sources/network_device_platform.md.tmpl
deleted file mode 100644
index b371e1332..000000000
--- a/templates/data-sources/network_device_platform.md.tmpl
+++ /dev/null
@@ -1,33 +0,0 @@
----
-subcategory: "Network Edge"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_network_device_platform (Data Source)
-
-Use this data source to get Equinix Network Edge device platform configuration details for a given device type. For further details, check supported [Network Edge Vendors and Devices](https://docs.equinix.com/en-us/Content/Interconnection/NE/user-guide/NE-vendors-devices.htm).
-
-## Example Usage
-
-{{tffile "examples/data-sources/network_device_platform/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `device_type` - (Required) Device type code
-* `flavor` - (Optional) Device platform flavor that determines number of CPU cores and memory. Supported values are: `small`, `medium`, `large`, `xlarge`.
-* `core_count` - (Optional) Number of CPU cores used to limit platform search results.
-* `packages` - (Optional) List of software package codes to limit platform search results.
-* `management_types` - (Optional) List of device management types to limit platform search results. Supported values are: `EQUINIX-CONFIGURED`, `SELF-CONFIGURED`.
-* `license_options` - (Optional) List of device licensing options to limit platform search result. Supported values are: `BYOL` (for Bring Your Own License), `Sub` (for license subscription).
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `memory` - The amount of memory provided by device platform.
-* `memory_unit` - Unit of memory provider by device platform.
diff --git a/templates/data-sources/network_device_software.md.tmpl b/templates/data-sources/network_device_software.md.tmpl
deleted file mode 100644
index 09bfb9b2e..000000000
--- a/templates/data-sources/network_device_software.md.tmpl
+++ /dev/null
@@ -1,35 +0,0 @@
----
-subcategory: "Network Edge"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_network_device_software (Data Source)
-
-Use this data source to get Equinix Network Edge device software details for a given device type. For further details, check supported [Network Edge Vendors and Devices](https://docs.equinix.com/en-us/Content/Interconnection/NE/user-guide/NE-vendors-devices.htm).
-
-## Example Usage
-
-{{tffile "examples/data-sources/network_device_software/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `device_type` - (Required) Code of a device type.
-* `version_regex` - (Optional) A regex string to apply on returned versions and filter search results.
-* `stable` - (Optional) Boolean value to limit query results to stable versions only.
-* `packages` - (Optional) Limits returned versions to those that are supported by given software package codes.
-* `most_recent` - (Optional) Boolean value to indicate that most recent version should be used *(in case when more than one result is returned)*.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `version` - Version number.
-* `image_name` - Software image name.
-* `date` - Version release date.
-* `status` - Version status.
-* `release_notes_link` - Link to version release notes.
diff --git a/templates/data-sources/network_device_type.md.tmpl b/templates/data-sources/network_device_type.md.tmpl
deleted file mode 100644
index c80f72c58..000000000
--- a/templates/data-sources/network_device_type.md.tmpl
+++ /dev/null
@@ -1,31 +0,0 @@
----
-subcategory: "Network Edge"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_network_device_type (Data Source)
-
-Use this data source to get Equinix Network Edge device type details. For further details, check supported [Network Edge Vendors and Devices](https://docs.equinix.com/en-us/Content/Interconnection/NE/user-guide/NE-vendors-devices.htm).
-
-## Example Usage
-
-{{tffile "examples/data-sources/network_device_type/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Optional) Device type name.
-* `vendor` - (Optional) Device type vendor i.e. `Cisco`, `Juniper Networks`, `VERSA Networks`.
-* `category` - (Optional) Device type category. One of: `Router`, `Firewall`, `SDWAN`.
-* `metro_codes` - (Optional) List of metro codes where device type has to be available
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `code` - Device type short code, unique identifier of a network device type
-* `description` - Device type textual description
diff --git a/templates/index.md.tmpl b/templates/index.md.tmpl
deleted file mode 100644
index 5f049351c..000000000
--- a/templates/index.md.tmpl
+++ /dev/null
@@ -1,71 +0,0 @@
----
-page_title: "Provider: Equinix"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# Equinix Provider
-
-The Equinix provider is used to interact with the resources provided by Equinix Platform. The provider needs to be configured with the proper credentials before it can be used.
-
-For information about obtaining API key and secret required for Equinix Fabric and Network Edge refer to [Generating Client ID and Client Secret key](https://developer.equinix.com/dev-docs/fabric/getting-started/getting-access-token#generating-client-id-and-client-secret) from [Equinix Developer Platform portal](https://developer.equinix.com).
-
-Interacting with Equinix Metal requires an API auth token that can be generated at [Project-level](https://metal.equinix.com/developers/docs/accounts/projects/#api-keys) or [User-level](https://metal.equinix.com/developers/docs/accounts/users/#api-keys) tokens can be used.
-
-If you are only using Equinix Metal resources, you may omit the Client ID and Client Secret provider configuration parameters needed to access other Equinix resource types (Network Edge, Fabric, etc).
-
-Use the navigation to the left to read about the available resources.
-
-## Example Usage
-
-Example HCL with [provider configuration](https://www.terraform.io/docs/configuration/providers.html) and a [required providers definition](https://www.terraform.io/language/settings#specifying-a-required-terraform-version):
-
-{{tffile "examples/example_1.tf"}}
-
-Client ID and Client Secret can be omitted when the only Equinix resources consumed are Equinix Metal resources.
-
-{{tffile "examples/example_2.tf"}}
-
-Example provider configuration using `environment variables`:
-
-```sh
-export EQUINIX_API_CLIENTID=someEquinixAPIClientID
-export EQUINIX_API_CLIENTSECRET=someEquinixAPIClientSecret
-export METAL_AUTH_TOKEN=someEquinixMetalToken
-```
-
-### Token Authentication
-
-Token's can be generated for the API Client using the OAuth2 Token features described in the [OAuth2 API](https://developer.equinix.com/catalog/accesstokenv1#operation/GetOAuth2AccessToken) documentation.
-
-API tokens can be provided using the `token` provider argument, or the `EQUINIX_API_TOKEN` evironment variable. The `client_id` and `client_secret` arguments will be ignored in the presence of a `token` argument.
-
-When testing against the [Equinix Sandbox API](https://developer.equinix.com/environment/sandbox), tokens must be used.
-
-{{tffile "examples/example_3.tf"}}
-
-## Argument Reference
-
-The Equinix provider requires a few basic parameters. While the authentication arguments are individually optionally, either `token` or `client_id` and `client_secret` must be defined through arguments or environment settings to interact with Equinix Fabric and Network Edge services, and `auth_token` to interact with Equinix Metal.
-
-* `client_id` - (Optional) API Consumer Key available under "My Apps" in developer portal. This argument can also be specified with the `EQUINIX_API_CLIENTID` shell environment variable.
-
-* `client_secret` (Optional) API Consumer secret available under "My Apps" in developer portal. This argument can also be specified with the `EQUINIX_API_CLIENTSECRET` shell environment variable.
-
-* `token` (Optional) API tokens are generated from API Consumer clients using the [OAuth2 API](https://developer.equinix.com/docs/ecx-getting-started#requesting-access-and-refresh-tokens). This argument can also be specified with the `EQUINIX_API_TOKEN` shell environment variable.
-
-* `auth_token` - (Optional) This is your Equinix Metal API Auth token. This can also be specified with the `METAL_AUTH_TOKEN` environment variable.
-
-* `endpoint` (Optional) The Equinix API base URL to point out desired environment. This argument can also be specified with the `EQUINIX_API_ENDPOINT` shell environment variable. (Defaults to `https://api.equinix.com`)
-
-* `request_timeout` (Optional) The duration of time, in seconds, that the Equinix Platform API Client should wait before canceling an API request. Canceled requests may still result in provisioned resources. (Defaults to `30`)
-
-* `response_max_page_size` (Optional) The maximum number of records in a single response for REST queries that produce paginated responses. (Default is client specific)
-
-* `max_retries` (Optional) Maximum number of retries in case of network failure.
-
-* `max_retry_wait_seconds` (Optional) Maximum time to wait in case of network failure.
-
-These parameters can be provided in [Terraform variable files](https://www.terraform.io/docs/configuration/variables.html#variable-definitions-tfvars-files) or as environment variables. Nevertheless, please note that it is [not recommended to keep sensitive data in plain text files](https://www.terraform.io/docs/state/sensitive-data.html).
diff --git a/templates/resources/ecx_l2_connection.md.tmpl b/templates/resources/ecx_l2_connection.md.tmpl
deleted file mode 100644
index 16420481f..000000000
--- a/templates/resources/ecx_l2_connection.md.tmpl
+++ /dev/null
@@ -1,152 +0,0 @@
----
-subcategory: "Fabric"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# 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.
-
-## Example Usage
-
-### Non-redundant Connection from own Equinix Fabric Port
-
-{{tffile "examples/resources/ecx_l2_connection/example_1.tf"}}
-
-### Redundant Connection from own Equinix Fabric Ports
-
-{{tffile "examples/resources/ecx_l2_connection/example_2.tf"}}
-
-### Non-redundant Connection from Network Edge device
-
-{{tffile "examples/resources/ecx_l2_connection/example_3.tf"}}
-
-### Non-redundant Connection from an Equinix customer port using A-Side Service token
-
-{{tffile "examples/resources/ecx_l2_connection/example_4.tf"}}
-
-### Non-redundant Connection from own Equinix Fabric Port to an Equinix customer port using Z-Side Service token
-
-{{tffile "examples/resources/ecx_l2_connection/example_5.tf"}}
-
--> **NOTE:** See [Equinix Fabric connecting to the cloud](../guides/equinix_fabric_cloud_providers.md) guide for more details on how to connect to a CSP.
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores
-* `profile_uuid` - (Required) Unique identifier of the service provider's profile.
-* `speed` - (Required) Speed/Bandwidth to be allocated to the connection.
-* `speed_unit` - (Required) Unit of the speed/bandwidth to be allocated to the connection.
-* `notifications` - (Required) A list of email addresses used for sending connection update notifications.
-* `purchase_order_number` - (Optional) Connection's purchase order number to reflect on the invoice
-* `port_uuid` - (Required when `device_uuid` or `service_token` are not set) Unique identifier of the Equinix Fabric Port from which the connection would originate.
-* `device_uuid` - (Required when `port_uuid` or `service_token` are not set) Unique identifier of the Network Edge virtual device from which the connection would originate.
-* `device_interface_id` - (Optional) Applicable with `device_uuid`, identifier of network interface on a given device, used for a connection. If not specified then first available interface will be selected.
-* `service_token`- (Required when `port_uuid` or `device_uuid` are not set) - A-side service tokens authorize you to create a connection from a customer port, which created the token for you, to a service profile or your own port. More details in [A-Side Fabric Service Tokens](https://docs.equinix.com/en-us/Content/Interconnection/Fabric/service%20tokens/Fabric-Service-Tokens.htm#:~:text=the%20service%20token.-,A%2DSide%20Service%20Tokens,-If%20you%20want).
-* `zside_service_token`- (Required when `profile_uuid` or `zside_port_uuid` are not set) - Z-side service tokens authorize you to create a connection from your port or virtual device to a customer port which created the token for you. `zside_service_token` cannot be used with `secondary_connection`. More details in [Z-Side Fabric Service Tokens](https://docs.equinix.com/en-us/Content/Interconnection/Fabric/service%20tokens/Fabric-Service-Tokens.htm#:~:text=requirements%20per%20provider.-,Z%2DSide%20Service%20Tokens,-If%20you%20want).
-
--> **NOTE:** Service tokens can't be reused. To recreate a resource or to create a new one for another connection even from same interconnection asset, you will need to request another token from your service provider.
-
-* `vlan_stag` - (Required when port_uuid is set) S-Tag/Outer-Tag of the connection - a numeric character ranging from 2 - 4094.
-* `vlan_ctag` - (Optional) C-Tag/Inner-Tag of the connection - a numeric character ranging from 2 \- 4094.
-* `named_tag` - (Optional) The type of peering to set up when connecting to Azure Express Route. Valid values: `PRIVATE`, `MICROSOFT`, `MANUAL`\*, `PUBLIC`\*.
-
-~> **NOTE:** *"MANUAL"* peering is deprecated. Use *"PRIVATE"* or *"MICROSOFT"* instead. It was used in cases where `zside_vlan_ctag` was needed. `zside_vlan_ctag` can still be defined without need to specify `MANUAL` which does not actually correspond to any type of peering supported in Azure. Check [how to create a connection to Microsoft Azure ExpressRoute with Equinix Fabric](https://docs.equinix.com/en-us/Content/Interconnection/Fabric/connections/Fabric-ms-azure.htm#:~:text=a%20peering%20type.-,(Optional)%C2%A0,-Enter%20a%20vlan) for more details.
-
-~> **NOTE:** *"PUBLIC"* peering is deprecated. Use *"MICROSOFT"* instead. More details in [Microsoft public peering](https://docs.microsoft.com/en-us/azure/expressroute/about-public-peering) docs.
-
-* `additional_info` - (Optional) one or more additional information key-value objects
- * `name` - (Required) additional information key
- * `value` - (Required) additional information value
-* `zside_port_uuid` - (Optional) Unique identifier of the port on the remote/destination side (z-side). Allows you to connect between your own ports or virtual devices across your company's Equinix Fabric deployment, with no need for a private service profile.
-* `zside_vlan_stag` - (Optional) S-Tag/Outer-Tag of the connection on the remote/destination side (z-side) - a numeric character ranging from 2 - 4094.
-* `zside_vlan_ctag` - (Optional) C-Tag/Inner-Tag of the connection on the remote/destination side (z-side) - a numeric character ranging from 2 - 4094. `secondary_connection` is defined it will internally use same `zside_vlan_ctag` for the secondary connection.
-* `seller_region` - (Optional) The region in which the seller port resides.
-* `seller_metro_code` - (Optional) The metro code that denotes the connection’s remote/destination side (z-side).
-* `authorization_key` - (Optional) Unique identifier authorizing Equinix to provision a connection towards a cloud service provider. At Equinix, an `Authorization Key` is a generic term and is NOT encrypted on Equinix Fabric. Cloud Service Providers might use a different name to refer to this key such as `Service Key` or `Authentication Key`. Value depends on a provider service profile, more information on [Equinix Fabric how to guide](https://developer.equinix.com/docs/ecx-how-to-guide).
-* `secondary_connection` - (Optional) Definition of secondary connection for redundant, HA connectivity. See [Secondary Connection](#secondary-connection) below for more details.
-
-### Secondary Connection
-
--> **NOTE:** Some service provider do not directly support redundant connections in their service profiles. However, some of them offer active/active (BGP multipath) or active/passive (failover) configurations in their platforms and you still achieve that highly resilient network connections by creating an `equinix_ecx_l2_connection` resource for each connection instead of defining a `secondary_connection` block.
-
-The `secondary_connection` block supports the following arguments:
-
-* `name` - (Required) secondary connection name
-* `speed` - (Optional) Speed/Bandwidth to be allocated to the secondary connection. If not specified primary `speed` will be used.
-* `speed_unit` - (Optional) Unit of the speed/bandwidth to be allocated to the secondary connection. If not specified primary `speed_unit` will be used.
-* `port_uuid` - (Optional) Applicable with primary `port_uuid`. Identifier of the Equinix Fabric Port from which the secondary connection would originate. If not specified primary `port_uuid` will be used.
-* `device_uuid` - (Optional) Applicable with primary `device_uuid`. Identifier of the Network Edge virtual device from which the secondary connection would originate. If not specified primary `device_uuid` will be used.
-* `device_interface_id` - (Optional) Applicable with `device_uuid`, identifier of network interface on a given device. If not specified then first available interface will be selected.
-* `service_token`- (Optional) Required with primary `service_token`. Unique Equinix Fabric key given by a provider that grants you authorization to enable connectivity from an Equinix Fabric Port or virtual device. Each connection (primary and secondary) requires a separate token. More details in [Fabric Service Tokens](https://docs.equinix.com/en-us/Content/Interconnection/Fabric/service%20tokens/Fabric-Service-Tokens.htm).
-* `vlan_stag` - (Required when `port_uuid` is set) S-Tag/Outer-Tag of the secondary connection, a numeric character ranging from 2 - 4094.
-* `vlan_ctag` - (Optional) Applicable with `port_uuid`. C-Tag/Inner-Tag of the secondary connection, a numeric character ranging from 2 - 4094.
-* `seller_metro_code` - (Optional) The metro code that denotes the secondary connection’s destination (Z side). .
-* `seller_region` - (Optional) The region in which the seller port resides. If not specified primary `seller_region` will be used.
-* `authorization_key` - (Optional) Unique identifier authorizing Equinix to provision a connection towards a cloud service provider. If not specified primary `authorization_key` will be used. However, some service providers may require different keys for each connection. More information on [Equinix Fabric how to guide](https://developer.equinix.com/docs/ecx-how-to-guide).
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Unique identifier of the connection.
-* `status` - Connection provisioning status on Equinix Fabric side.
-* `provider_status` - Connection provisioning status on service provider's side.
-* `redundant_uuid` - Unique identifier of the redundant connection, applicable for HA connections.
-* `redundancy_type` - Connection redundancy type, applicable for HA connections. Valid values are `PRIMARY`, `SECONDARY`.
-* `redundancy_group` - Unique identifier of group containing a primary and secondary connection.
-* `zside_port_uuid` - When not provided as an argument, it is identifier of the z-side port, assigned by the Fabric.
-* `zside_vlan_stag` - When not provided as an argument, it is S-Tag/Outer-Tag of the connection on the Z side, assigned by the Fabric.
-* `actions` - One or more pending actions to complete connection provisioning.
-* `vendor_token` - The Equinix Fabric Token the connection was created with. Applicable if the connection was created with a `service_token` (a-side) or `zside_service_token` (z-side).
-* `secondary_connection`:
- * `zside_port_uuid`
- * `zside_vlan_stag`
- * `zside_vlan_ctag`
- * `redundancy_type`
- * `redundancy_group`
- * `vendor_token`
-
-## Update operation behavior
-
-Update of most arguments will force replacement of a connection (including related redundant connection in HA setup).
-
-Following arguments can be updated. **NOTE** that Equinix Fabric may still forbid updates depending on current connection state, used service provider or number of updates requested during the day.
-
-* `name`
-* `speed` and `speed_unit`
-
-## Timeouts
-
-This resource provides the following [Timeouts configuration](https://www.terraform.io/language/resources/syntax#operation-timeouts) options:
-
-* create - Default is 5 minutes
-* delete - Default is 5 minutes
-
-## Import
-
--> **NOTE:** Connections created with a Service Token (both a-side/z-side), will populate the token into `vendor_token` but `service_token` and `zside_service_token` will remain empty.
-
-Equinix L2 connections can be imported using an existing `id`:
-
-```sh
-existing_connection_id='example-uuid-1'
-terraform import equinix_ecx_l2_connection.example ${existing_connection_id}
-```
-
--> **NOTE:** To import a redundant connection you must concatenate `id` of both connections (primary and secondary) into a single string separated by `:`.
-
-To import a redundant Equinix L2 connection:
-
-```sh
-existing_primary_connection_id='example-uuid-1'
-existing_secondary_connection_id='example-uuid-2'
-terraform import equinix_ecx_l2_connection.example ${existing_primary_connection_id}:${existing_secondary_connection_id}
-```
diff --git a/templates/resources/ecx_l2_connection_accepter.md.tmpl b/templates/resources/ecx_l2_connection_accepter.md.tmpl
deleted file mode 100644
index 56d14fcd4..000000000
--- a/templates/resources/ecx_l2_connection_accepter.md.tmpl
+++ /dev/null
@@ -1,54 +0,0 @@
----
-subcategory: "Fabric"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_ecx_l2_connection_accepter (Resource)
-
-!> **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 [AWS provider v3.62.0+](https://github.com/hashicorp/terraform-provider-aws/blob/v3.62.0/CHANGELOG.md#3620-october-08-2021) feature.
-
-Resource `equinix_ecx_l2_connection_accepter` is used to accept Equinix Fabric layer 2 connection on provider side.
-
-Resource leverages Equinix Fabric integration with service providers. Currently supported providers are:
-
-* `AWS` (AWS Direct Connect)
-
-## Example Usage
-
-{{tffile "examples/resources/ecx_l2_connection_accepter/example_1.tf"}}
-
-## AWS Authentication
-
-The `equinix_ecx_l2_connection_accepter` resource offers flexible means of providing AWS credentials. The following methods are supported and evaluated in a given order:
-
-* static credentials - uses `access_key` and `secret_key` resource arguments
-* environmental variables - uses `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environmental variables
-* shared credentials/configuration file - uses [AWS credentials or configuration file](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html). This method also supports profile configuration by setting `aws_profile` argument or `AWS_PROFILE` environmental variable
-
-~> **NOTE:** It is not recommended to keep credentials in any Terraform configuration.
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `connection_id` - (Required) Identifier of Layer 2 connection that will be accepted.
-* `access_key` - (Optional) Access Key used to accept connection on provider side.
-* `secret_key` - (Optional) Secret Key used to accept connection on provider side.
-* `aws_profile` - (Optional) AWS Profile Name for retrieving credentials from. shared credentials file
-
-## Attribute Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `aws_connection_id` - Identifier of a hosted Direct Connect connection on AWS side, applicable for accepter resource with connections to AWS only.
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_ecx_l2_connection_accepter.example {existing_id}
-```
diff --git a/templates/resources/ecx_l2_serviceprofile.md.tmpl b/templates/resources/ecx_l2_serviceprofile.md.tmpl
deleted file mode 100644
index ab4bc2d05..000000000
--- a/templates/resources/ecx_l2_serviceprofile.md.tmpl
+++ /dev/null
@@ -1,88 +0,0 @@
----
-subcategory: "Fabric"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# 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.
-
-This resource relies on the Equinix Fabric API. The parameters and attributes available map to the fields described at https://developer.equinix.com/catalog/sellerv3#operation/getProfileByIdOrNameUsingGET.
-
-## Example Usage
-
-{{tffile "examples/resources/ecx_l2_serviceprofile/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) Name of the service profile. An alpha-numeric 50 characters string which can include only hyphens and underscores.
-* `description` - (Optional) Description of the service profile.
-* `bandwidth_alert_threshold` - (Optional) Specifies the port bandwidth threshold percentage. If the bandwidth limit is met or exceeded, an alert is sent to the seller.
-* `speed_customization_allowed` - (Optional) Boolean value that determines if customer is allowed to enter a custom connection speed.
-* `oversubscription_allowed` - (Optional) Boolean value that determines if, regardless of the utilization, Equinix Fabric will continue to add connections to your links until we reach the oversubscription limit. By selecting this service, you acknowledge that you will manage decisions on when to increase capacity on these link.
-* `api_integration` - (Optional) Boolean value that determines if API integration is enabled. It allows you to complete connection provisioning in less than five minutes. Without API Integration, additional manual steps will be required and the provisioning will likely take longer.
-* `authkey_label` - (Optional) Name of the authentication key label to be used by the Authentication Key service. It allows Service Providers with QinQ ports to accept groups of connections or VLANs from Dot1q customers. This is similar to S-Tag/C-Tag capabilities.
-* `connection_name_label` - (Optional) Custom name used for calling a connections e.g. `circuit`. Defaults to `Connection`.
-* `ctag_label` - (Optional) C-Tag/Inner-Tag label name for the connections.
-* `servicekey_autogenerated` - (Optional) Boolean value that indicates whether multiple connections can be created with the same authorization key to connect to this service profile after the first connection has been approved by the seller.
-* `equinix_managed_port_vlan` - (Optional) Applicable when `api_integration` is set to `true`. It indicates whether the port and VLAN details are managed by Equinix.
-* `integration_id` - (Optional) Specifies the API integration ID that was provided to the customer during onboarding. You can validate your API integration ID using the validateIntegrationId API.
-* `bandwidth_threshold_notifications` - (Optional) A list of email addresses that will receive notifications about bandwidth thresholds.
-* `profile_statuschange_notifications` - (Required) A list of email addresses that will receive notifications about profile status changes.
-* `vc_statuschange_notifications` - (Required) A list of email addresses that will receive notifications about connections approvals and rejections.
-* `oversubscription` - (Optional) You can set an alert for when a percentage of your profile has been sold. Service providers like to use this functionality to alert them when they need to add more ports or when they need to create a new service profile. Required with `oversubscription_allowed`, defaults to `1x`.
-* `private` - (Optional) Boolean value that indicates whether or not this is a private profile, i.e. not public like AWS/Azure/Oracle/Google, etc. If private, it can only be available for creating connections if correct permissions are granted.
-* `private_user_emails` - (Optional) An array of users email ids who have permission to access this service profile. Argument is required when profile is set as private.
-* `redundancy_required` - (Optional) Boolean value that determines if your connections will require redundancy. if yes, then users need to create a secondary redundant connection.
-* `speed_from_api` - (Optional) Boolean valuta that determines if connection speed will be derived from an API call. Argument has to be specified when `api_integration` is enabled.
-* `tag_type` - (Optional) Specifies additional tagging information required by the seller profile for Dot1Q to QinQ translation. See [Enhance Dot1q to QinQ translation support](https://docs.equinix.com/es/Content/Interconnection/Fabric/layer-2/Fabric-Create-Layer2-Service-Profile.htm#:~:text=Enhance%20Dot1q%20to%20QinQ%20translation%20support) for additional information. Valid values are:
- * `CTAGED` - When seller side VLAN C-Tag has to be provided *(Default)*.
- * `NAMED` - When application named tag has to be provided.
- * `BOTH` - When both, application tag or seller side VLAN C-Tag can be provided.
-* `secondary_vlan_from_primary` - (Optional) Indicates whether the VLAN ID of. the secondary connection is the same as the primary connection.
-* `features` - (Required) Block of profile features configuration. See [Features](#features) below for more details.
-* `port` - (Required) One or more definitions of ports residing in locations, from which your customers will be able to access services using this service profile. See [Port](#port) below for more details.
-* `speed_band` - (Optional) One or more definitions of supported speed/bandwidth. Argument is required when `speed_from_api` is set to `false`. See [Speed Band](#speed-band) below for more details.
-
-### Features
-
-The `features` block has below fields:
-
-* `allow_remote_connections` - (Required) Indicates whether or not connections to this profile can be created from remote metro locations.
-* `test_profile` - (Deprecated) Indicates whether or not this profile can be used for test connections.
-
-### Port
-
-Each `port` block has below fields:
-
-* `uuid` - (Required) Unique identifier of the port.
-* `metro_code` - (Required) The metro code of location where the port resides.
-
-### Speed Band
-
-Each `speed_band` block has below fields:
-
-* `speed` - (Required) Speed/bandwidth supported by this service profile.
-* `speed_unit` - (Required) Unit of the speed/bandwidth supported by this service profile. One of `MB`, `GB`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Unique identifier of the service profile.
-* `state` - Service profile provisioning status.
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_ecx_l2_serviceprofile.example {existing_id}
-```
diff --git a/templates/resources/fabric_cloud_router.md.tmpl b/templates/resources/fabric_cloud_router.md.tmpl
deleted file mode 100644
index 6c7198071..000000000
--- a/templates/resources/fabric_cloud_router.md.tmpl
+++ /dev/null
@@ -1,147 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-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
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_cloud_router (Resource)
-
-Fabric V4 API compatible resource allows creation and management of [Equinix Fabric Cloud Router](https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-intro.htm#HowItWorks).
-
-Additional Fabric Cloud Router documentation:
-* Getting Started: https://docs.equinix.com/en-us/Content/Interconnection/FCR/FCR-intro.htm#HowItWorks
-* API: https://developer.equinix.com/dev-docs/fabric/api-reference/fabric-v4-apis#fabric-cloud-routers
-
-## Example Usage
-
-{{tffile "examples/resources/fabric_cloud_router/example_1.tf"}}
-
-
-
-## Schema
-
-### Required
-
-- `account` (Block Set, Min: 1, Max: 1) Customer account information that is associated with this Fabric Cloud Router (see [below for nested schema](#nestedblock--account))
-- `location` (Block Set, Min: 1, Max: 1) Fabric Cloud Router location (see [below for nested schema](#nestedblock--location))
-- `name` (String) Fabric Cloud Router name. An alpha-numeric 24 characters string which can include only hyphens and underscores
-- `notifications` (Block List, Min: 1) Preferences for notifications on Fabric Cloud Router configuration or status changes (see [below for nested schema](#nestedblock--notifications))
-- `order` (Block Set, Min: 1, Max: 1) Order information related to this Fabric Cloud Router (see [below for nested schema](#nestedblock--order))
-- `package` (Block Set, Min: 1, Max: 1) Fabric Cloud Router Package Type (see [below for nested schema](#nestedblock--package))
-- `project` (Block Set, Min: 1, Max: 1) Customer resource hierarchy project information. Applicable to customers onboarded to Equinix Identity and Access Management. For more information see Identity and Access Management: Projects (see [below for nested schema](#nestedblock--project))
-- `type` (String) Defines the FCR type like; XF_ROUTER
-
-### Optional
-
-- `description` (String) Customer-provided Fabric Cloud Router description
-- `href` (String) Fabric Cloud Router URI information
-- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
-- `uuid` (String) Equinix-assigned Fabric Cloud Router identifier
-
-### Read-Only
-
-- `bgp_ipv4_routes_count` (Number) Number of IPv4 BGP routes in use (including non-distinct prefixes)
-- `bgp_ipv6_routes_count` (Number) Number of IPv6 BGP routes in use (including non-distinct prefixes)
-- `change_log` (Set of Object) Captures Fabric Cloud Router lifecycle change information (see [below for nested schema](#nestedatt--change_log))
-- `connections_count` (Number) Number of connections associated with this Fabric Cloud Router instance
-- `distinct_ipv4_prefixes_count` (Number) Number of distinct IPv4 routes
-- `distinct_ipv6_prefixes_count` (Number) Number of distinct IPv6 routes
-- `equinix_asn` (Number) Equinix ASN
-- `id` (String) The ID of this resource.
-- `state` (String) Fabric Cloud Router overall state
-
-
-
-### Nested Schema for `account`
-
-Optional:
-
-- `account_number` (Number) Account Number
-
-
-
-### Nested Schema for `location`
-
-Optional:
-
-- `ibx` (String) IBX Code
-- `metro_code` (String) Access point metro code
-- `metro_name` (String) Access point metro name
-- `region` (String) Access point region
-
-
-
-### Nested Schema for `notifications`
-
-Required:
-
-- `emails` (List of String) Array of contact emails
-- `type` (String) Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
-
-Optional:
-
-- `send_interval` (String) Send interval
-
-
-
-### Nested Schema for `order`
-
-Optional:
-
-- `billing_tier` (String) Billing tier for connection bandwidth
-- `order_id` (String) Order Identification
-- `order_number` (String) Order Reference Number
-- `purchase_order_number` (String) Purchase order number
-
-
-
-### Nested Schema for `package`
-
-Required:
-
-- `code` (String) Fabric Cloud Router package code
-
-
-
-### Nested Schema for `project`
-
-Optional:
-
-- `href` (String) Unique Resource URL
-- `project_id` (String) Project Id
-
-
-
-### Nested Schema for `timeouts`
-
-Optional:
-
-- `create` (String)
-- `delete` (String)
-- `read` (String)
-- `update` (String)
-
-
-
-### 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)
diff --git a/templates/resources/fabric_connection.md.tmpl b/templates/resources/fabric_connection.md.tmpl
deleted file mode 100644
index e566d1a78..000000000
--- a/templates/resources/fabric_connection.md.tmpl
+++ /dev/null
@@ -1,655 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-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
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_connection (Resource)
-
-Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection
-
-## Supporting Modules
-
-The direct usage of the resources is given in the next section "Example Usage". We also have supporting Terraform Modules that can be used to assist you with common Fabric Connection use cases.
-
-You can find those modules along with their usage examples on the [Terraform Registry: (Fabric Terraform Modules)](https://registry.terraform.io/modules/equinix/fabric/equinix/latest)
-
-## Example Usage
-
-Port to Port EVPL_VC Connection:
-
-{{tffile "examples/resources/fabric_connection/example_1.tf"}}
-
-Port to AWS EVPL_VC Connection:
-
-{{tffile "examples/resources/fabric_connection/example_2.tf"}}
-
-Port to Port EPL Connection:
-
-{{tffile "examples/resources/fabric_connection/example_3.tf"}}
-
-Port to Port ACCESS_EPL_VC Connection:
-
-{{tffile "examples/resources/fabric_connection/example_4.tf"}}
-
-Virtual Device to Port Connection:
-
-{{tffile "examples/resources/fabric_connection/example_5.tf"}}
-
-Virtual Device to Service Token Connection:
-
-{{tffile "examples/resources/fabric_connection/example_6.tf"}}
-
-Service Token to AWS Connection:
-
-{{tffile "examples/resources/fabric_connection/example_7.tf"}}
-
-Cloud Router to Port Connection:
-
-{{tffile "examples/resources/fabric_connection/example_8.tf"}}
-
-Cloud Router to Azure Connection:
-
-{{tffile "examples/resources/fabric_connection/example_9.tf"}}
-
-Virtual Device to Azure Connection:
-
-{{tffile "examples/resources/fabric_connection/example_10.tf"}}
-
-Virtual Device to Azure Redundant Connection:
-
-{{tffile "examples/resources/fabric_connection/example_11.tf"}}
-
-Cloud Router to Network Connection:
-
-{{tffile "examples/resources/fabric_connection/example_12.tf"}}
-
-Virtual Device to Network Connection:
-
-{{tffile "examples/resources/fabric_connection/example_13.tf"}}
-
-EPLAN Port to Network Connection:
-
-{{tffile "examples/resources/fabric_connection/example_14.tf"}}
-
-EVPLAN Port to Network Connection:
-
-{{tffile "examples/resources/fabric_connection/example_15.tf"}}
-
-### Notes:
-
-Port to IBM Connections could be modified from IBM Service Provider Side by using parameters passed to additional_info field:
-* `{"key": "ASN", "value": "1111"}`
-* `{"key": "Global", "value": "false"}`
-* `{"key": "BGP_IBM_CIDR", "value": "172.16.0.18/30"}`
-* `{"key": "BGP_CER_CIDR", "value": "172.16.0.19/30"}`
-
-
-
-## Schema
-
-### Required
-
-- `a_side` (Block Set, Min: 1, Max: 1) Requester or Customer side connection configuration object of the multi-segment connection (see [below for nested schema](#nestedblock--a_side))
-- `bandwidth` (Number) Connection bandwidth in Mbps
-- `name` (String) Connection name. An alpha-numeric 24 characters string which can include only hyphens and underscores
-- `notifications` (Block List, Min: 1) Preferences for notifications on connection configuration or status changes (see [below for nested schema](#nestedblock--notifications))
-- `order` (Block Set, Min: 1, Max: 1) Order details (see [below for nested schema](#nestedblock--order))
-- `type` (String) Defines the connection type like EVPL_VC, EPL_VC, IPWAN_VC, IP_VC, ACCESS_EPL_VC, EVPLAN_VC, EPLAN_VC, EIA_VC, EC_VC
-- `z_side` (Block Set, Min: 1, Max: 1) Destination or Provider side connection configuration object of the multi-segment connection (see [below for nested schema](#nestedblock--z_side))
-
-### Optional
-
-- `additional_info` (List of Map of String) Connection additional information
-- `description` (String) Customer-provided connection description
-- `project` (Block Set, Max: 1) Project information (see [below for nested schema](#nestedblock--project))
-- `redundancy` (Block Set, Max: 1) Connection Redundancy Configuration (see [below for nested schema](#nestedblock--redundancy))
-- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
-
-### Read-Only
-
-- `account` (Set of Object) Customer account information that is associated with this connection (see [below for nested schema](#nestedatt--account))
-- `change_log` (Set of Object) Captures connection lifecycle change information (see [below for nested schema](#nestedatt--change_log))
-- `direction` (String) Connection directionality from the requester point of view
-- `href` (String) Connection URI information
-- `id` (String) The ID of this resource.
-- `is_remote` (Boolean) Connection property derived from access point locations
-- `operation` (Set of Object) Connection type-specific operational data (see [below for nested schema](#nestedatt--operation))
-- `state` (String) Connection overall state
-- `uuid` (String) Equinix-assigned connection identifier
-
-
-
-### Nested Schema for `a_side`
-
-Optional:
-
-- `access_point` (Block Set, Max: 1) Point of access details (see [below for nested schema](#nestedblock--a_side--access_point))
-- `additional_info` (Block List) Connection side additional information (see [below for nested schema](#nestedblock--a_side--additional_info))
-- `service_token` (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see [below for nested schema](#nestedblock--a_side--service_token))
-
-
-
-### Nested Schema for `a_side.access_point`
-
-Optional:
-
-- `authentication_key` (String) Authentication key for provider based connections
-- `gateway` (Block Set, Max: 1, Deprecated) **Deprecated** `gateway` Use `router` attribute instead (see [below for nested schema](#nestedblock--a_side--access_point--gateway))
-- `interface` (Block Set, Max: 1) Virtual device interface (see [below for nested schema](#nestedblock--a_side--access_point--interface))
-- `link_protocol` (Block Set, Max: 1) Connection link protocol (see [below for nested schema](#nestedblock--a_side--access_point--link_protocol))
-- `location` (Block Set, Max: 1) Access point location (see [below for nested schema](#nestedblock--a_side--access_point--location))
-- `network` (Block Set, Max: 1) network access point information (see [below for nested schema](#nestedblock--a_side--access_point--network))
-- `peering_type` (String) Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL
-- `port` (Block Set, Max: 1) Port access point information (see [below for nested schema](#nestedblock--a_side--access_point--port))
-- `profile` (Block Set, Max: 1) Service Profile (see [below for nested schema](#nestedblock--a_side--access_point--profile))
-- `provider_connection_id` (String) Provider assigned Connection Id
-- `router` (Block Set, Max: 1) Cloud Router access point information that replaces `gateway` (see [below for nested schema](#nestedblock--a_side--access_point--router))
-- `seller_region` (String) Access point seller region
-- `type` (String) Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK
-- `virtual_device` (Block Set, Max: 1) Virtual device (see [below for nested schema](#nestedblock--a_side--access_point--virtual_device))
-
-Read-Only:
-
-- `account` (Block Set) Account (see [below for nested schema](#nestedblock--a_side--access_point--account))
-
-
-
-### Nested Schema for `a_side.access_point.gateway`
-
-Optional:
-
-- `uuid` (String) Equinix-assigned virtual gateway identifier
-
-Read-Only:
-
-- `href` (String) Unique Resource Identifier
-
-
-
-### Nested Schema for `a_side.access_point.interface`
-
-Optional:
-
-- `id` (Number) id
-- `type` (String) Interface type
-- `uuid` (String) Equinix-assigned interface identifier
-
-
-
-### Nested Schema for `a_side.access_point.link_protocol`
-
-Optional:
-
-- `type` (String) Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
-- `vlan_c_tag` (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections
-- `vlan_s_tag` (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections
-- `vlan_tag` (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections
-
-
-
-### Nested Schema for `a_side.access_point.location`
-
-Optional:
-
-- `ibx` (String) IBX Code
-- `metro_code` (String) Access point metro code
-- `metro_name` (String) Access point metro name
-- `region` (String) Access point region
-
-
-
-### Nested Schema for `a_side.access_point.network`
-
-Optional:
-
-- `uuid` (String) Equinix-assigned Network identifier
-
-Read-Only:
-
-- `href` (String) Unique Resource Identifier
-
-
-
-### Nested Schema for `a_side.access_point.port`
-
-Optional:
-
-- `uuid` (String) Equinix-assigned Port identifier
-
-Read-Only:
-
-- `href` (String) Unique Resource Identifier
-- `name` (String) Port name
-- `redundancy` (Set of Object) Redundancy Information (see [below for nested schema](#nestedatt--a_side--access_point--port--redundancy))
-
-
-
-### Nested Schema for `a_side.access_point.port.redundancy`
-
-Read-Only:
-
-- `enabled` (Boolean)
-- `group` (String)
-- `priority` (String)
-
-
-
-### Nested Schema for `a_side.access_point.profile`
-
-Required:
-
-- `type` (String) Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE
-- `uuid` (String) Equinix assigned service profile identifier
-
-Read-Only:
-
-- `access_point_type_configs` (List of Object) Access point config information (see [below for nested schema](#nestedatt--a_side--access_point--profile--access_point_type_configs))
-- `description` (String) User-provided service description
-- `href` (String) Service Profile URI response attribute
-- `name` (String) Customer-assigned service profile name
-
-
-
-### Nested Schema for `a_side.access_point.profile.access_point_type_configs`
-
-Read-Only:
-
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `a_side.access_point.router`
-
-Optional:
-
-- `uuid` (String) Equinix-assigned virtual gateway identifier
-
-Read-Only:
-
-- `href` (String) Unique Resource Identifier
-
-
-
-### Nested Schema for `a_side.access_point.virtual_device`
-
-Optional:
-
-- `name` (String) Customer-assigned Virtual Device Name
-- `type` (String) Virtual Device type
-- `uuid` (String) Equinix-assigned Virtual Device identifier
-
-Read-Only:
-
-- `href` (String) Unique Resource Identifier
-
-
-
-### Nested Schema for `a_side.access_point.account`
-
-Read-Only:
-
-- `account_name` (String) Legal name of the accountholder.
-- `account_number` (Number) Equinix-assigned account number.
-- `global_cust_id` (String) Equinix-assigned ID of the subscriber's parent organization.
-- `global_org_id` (String) Equinix-assigned ID of the subscriber's parent organization.
-- `global_organization_name` (String) Equinix-assigned name of the subscriber's parent organization.
-- `org_id` (Number) Equinix-assigned ID of the subscriber's organization.
-- `organization_name` (String) Equinix-assigned name of the subscriber's organization.
-- `ucm_id` (String) Enterprise datastore id
-
-
-
-### Nested Schema for `a_side.additional_info`
-
-Optional:
-
-- `key` (String) Additional information key
-- `value` (String) Additional information value
-
-
-
-### Nested Schema for `a_side.service_token`
-
-Optional:
-
-- `type` (String) Token type - VC_TOKEN
-- `uuid` (String) Equinix-assigned service token identifier
-
-Read-Only:
-
-- `description` (String) Service token description
-- `href` (String) An absolute URL that is the subject of the link's context
-
-
-
-### Nested Schema for `notifications`
-
-Required:
-
-- `emails` (List of String) Array of contact emails
-- `type` (String) Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
-
-Optional:
-
-- `send_interval` (String) Send interval
-
-
-
-### Nested Schema for `order`
-
-Optional:
-
-- `billing_tier` (String) Billing tier for connection bandwidth
-- `order_id` (String) Order Identification
-- `order_number` (String) Order Reference Number
-- `purchase_order_number` (String) Purchase order number
-
-
-
-### Nested Schema for `z_side`
-
-Optional:
-
-- `access_point` (Block Set, Max: 1) Point of access details (see [below for nested schema](#nestedblock--z_side--access_point))
-- `additional_info` (Block List) Connection side additional information (see [below for nested schema](#nestedblock--z_side--additional_info))
-- `service_token` (Block Set, Max: 1) For service token based connections, Service tokens authorize users to access protected resources and services. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets (see [below for nested schema](#nestedblock--z_side--service_token))
-
-
-
-### Nested Schema for `z_side.access_point`
-
-Optional:
-
-- `authentication_key` (String) Authentication key for provider based connections
-- `gateway` (Block Set, Max: 1, Deprecated) **Deprecated** `gateway` Use `router` attribute instead (see [below for nested schema](#nestedblock--z_side--access_point--gateway))
-- `interface` (Block Set, Max: 1) Virtual device interface (see [below for nested schema](#nestedblock--z_side--access_point--interface))
-- `link_protocol` (Block Set, Max: 1) Connection link protocol (see [below for nested schema](#nestedblock--z_side--access_point--link_protocol))
-- `location` (Block Set, Max: 1) Access point location (see [below for nested schema](#nestedblock--z_side--access_point--location))
-- `network` (Block Set, Max: 1) network access point information (see [below for nested schema](#nestedblock--z_side--access_point--network))
-- `peering_type` (String) Peering Type- PRIVATE,MICROSOFT,PUBLIC, MANUAL
-- `port` (Block Set, Max: 1) Port access point information (see [below for nested schema](#nestedblock--z_side--access_point--port))
-- `profile` (Block Set, Max: 1) Service Profile (see [below for nested schema](#nestedblock--z_side--access_point--profile))
-- `provider_connection_id` (String) Provider assigned Connection Id
-- `router` (Block Set, Max: 1) Cloud Router access point information that replaces `gateway` (see [below for nested schema](#nestedblock--z_side--access_point--router))
-- `seller_region` (String) Access point seller region
-- `type` (String) Access point type - COLO, VD, VG, SP, IGW, SUBNET, CLOUD_ROUTER, NETWORK
-- `virtual_device` (Block Set, Max: 1) Virtual device (see [below for nested schema](#nestedblock--z_side--access_point--virtual_device))
-
-Read-Only:
-
-- `account` (Block Set) Account (see [below for nested schema](#nestedblock--z_side--access_point--account))
-
-
-
-### Nested Schema for `z_side.access_point.gateway`
-
-Optional:
-
-- `uuid` (String) Equinix-assigned virtual gateway identifier
-
-Read-Only:
-
-- `href` (String) Unique Resource Identifier
-
-
-
-### Nested Schema for `z_side.access_point.interface`
-
-Optional:
-
-- `id` (Number) id
-- `type` (String) Interface type
-- `uuid` (String) Equinix-assigned interface identifier
-
-
-
-### Nested Schema for `z_side.access_point.link_protocol`
-
-Optional:
-
-- `type` (String) Type of the link protocol - UNTAGGED, DOT1Q, QINQ, EVPN_VXLAN
-- `vlan_c_tag` (Number) Vlan Customer Tag information, vlanCTag value specified for QINQ connections
-- `vlan_s_tag` (Number) Vlan Provider Tag information, vlanSTag value specified for QINQ connections
-- `vlan_tag` (Number) Vlan Tag information, vlanTag value specified for DOT1Q connections
-
-
-
-### Nested Schema for `z_side.access_point.location`
-
-Optional:
-
-- `ibx` (String) IBX Code
-- `metro_code` (String) Access point metro code
-- `metro_name` (String) Access point metro name
-- `region` (String) Access point region
-
-
-
-### Nested Schema for `z_side.access_point.network`
-
-Optional:
-
-- `uuid` (String) Equinix-assigned Network identifier
-
-Read-Only:
-
-- `href` (String) Unique Resource Identifier
-
-
-
-### Nested Schema for `z_side.access_point.port`
-
-Optional:
-
-- `uuid` (String) Equinix-assigned Port identifier
-
-Read-Only:
-
-- `href` (String) Unique Resource Identifier
-- `name` (String) Port name
-- `redundancy` (Set of Object) Redundancy Information (see [below for nested schema](#nestedatt--z_side--access_point--port--redundancy))
-
-
-
-### Nested Schema for `z_side.access_point.port.redundancy`
-
-Read-Only:
-
-- `enabled` (Boolean)
-- `group` (String)
-- `priority` (String)
-
-
-
-### Nested Schema for `z_side.access_point.profile`
-
-Required:
-
-- `type` (String) Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE
-- `uuid` (String) Equinix assigned service profile identifier
-
-Read-Only:
-
-- `access_point_type_configs` (List of Object) Access point config information (see [below for nested schema](#nestedatt--z_side--access_point--profile--access_point_type_configs))
-- `description` (String) User-provided service description
-- `href` (String) Service Profile URI response attribute
-- `name` (String) Customer-assigned service profile name
-
-
-
-### Nested Schema for `z_side.access_point.profile.access_point_type_configs`
-
-Read-Only:
-
-- `type` (String)
-- `uuid` (String)
-
-
-
-### Nested Schema for `z_side.access_point.router`
-
-Optional:
-
-- `uuid` (String) Equinix-assigned virtual gateway identifier
-
-Read-Only:
-
-- `href` (String) Unique Resource Identifier
-
-
-
-### Nested Schema for `z_side.access_point.virtual_device`
-
-Optional:
-
-- `name` (String) Customer-assigned Virtual Device Name
-- `type` (String) Virtual Device type
-- `uuid` (String) Equinix-assigned Virtual Device identifier
-
-Read-Only:
-
-- `href` (String) Unique Resource Identifier
-
-
-
-### Nested Schema for `z_side.access_point.account`
-
-Read-Only:
-
-- `account_name` (String) Legal name of the accountholder.
-- `account_number` (Number) Equinix-assigned account number.
-- `global_cust_id` (String) Equinix-assigned ID of the subscriber's parent organization.
-- `global_org_id` (String) Equinix-assigned ID of the subscriber's parent organization.
-- `global_organization_name` (String) Equinix-assigned name of the subscriber's parent organization.
-- `org_id` (Number) Equinix-assigned ID of the subscriber's organization.
-- `organization_name` (String) Equinix-assigned name of the subscriber's organization.
-- `ucm_id` (String) Enterprise datastore id
-
-
-
-### Nested Schema for `z_side.additional_info`
-
-Optional:
-
-- `key` (String) Additional information key
-- `value` (String) Additional information value
-
-
-
-### Nested Schema for `z_side.service_token`
-
-Optional:
-
-- `type` (String) Token type - VC_TOKEN
-- `uuid` (String) Equinix-assigned service token identifier
-
-Read-Only:
-
-- `description` (String) Service token description
-- `href` (String) An absolute URL that is the subject of the link's context
-
-
-
-### Nested Schema for `project`
-
-Optional:
-
-- `project_id` (String) Project Id
-
-Read-Only:
-
-- `href` (String) Unique Resource URL
-
-
-
-### Nested Schema for `redundancy`
-
-Optional:
-
-- `group` (String) Redundancy group identifier (Use the redundancy.0.group UUID of primary connection; e.g. one(equinix_fabric_connection.primary_port_connection.redundancy).group or equinix_fabric_connection.primary_port_connection.redundancy.0.group)
-- `priority` (String) Connection priority in redundancy group - PRIMARY, SECONDARY
-
-
-
-### Nested Schema for `timeouts`
-
-Optional:
-
-- `create` (String)
-- `delete` (String)
-- `read` (String)
-- `update` (String)
-
-
-
-### 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)
-- `ucm_id` (String)
-
-
-
-### 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)
-
-
-
-### Nested Schema for `operation`
-
-Read-Only:
-
-- `equinix_status` (String)
-- `errors` (List of Object) (see [below for nested schema](#nestedobjatt--operation--errors))
-- `provider_status` (String)
-
-
-
-### 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)
-
-
-
-### Nested Schema for `operation.errors.additional_info`
-
-Read-Only:
-
-- `property` (String)
-- `reason` (String)
diff --git a/templates/resources/fabric_network.md.tmpl b/templates/resources/fabric_network.md.tmpl
deleted file mode 100644
index c67b32d45..000000000
--- a/templates/resources/fabric_network.md.tmpl
+++ /dev/null
@@ -1,127 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-page_title: "equinix_fabric_network Resource - terraform-provider-equinix"
-subcategory: "Fabric"
-description: |-
- Fabric V4 API compatible resource allows creation and management of Equinix Fabric Network
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_network (Resource)
-
-Fabric V4 API compatible resource allows creation and management of Equinix Fabric Network
-
-## Example Usage
-
-{{tffile "examples/resources/fabric_network/example_1.tf"}}
-
-
-
-## Schema
-
-### Required
-
-- `name` (String) Fabric Network name. An alpha-numeric 24 characters string which can include only hyphens and underscores
-- `notifications` (Block List, Min: 1) Preferences for notifications on Fabric Network configuration or status changes (see [below for nested schema](#nestedblock--notifications))
-- `project` (Block Set, Min: 1) Fabric Network project (see [below for nested schema](#nestedblock--project))
-- `scope` (String) Fabric Network scope
-- `type` (String) Supported Network types - EVPLAN, EPLAN, IPWAN
-
-### Optional
-
-- `location` (Block Set, Max: 1) Fabric Network location (see [below for nested schema](#nestedblock--location))
-- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
-
-### Read-Only
-
-- `change` (Set of Object) Information on asset change operation (see [below for nested schema](#nestedatt--change))
-- `change_log` (Set of Object) A permanent record of asset creation, modification, or deletion (see [below for nested schema](#nestedatt--change_log))
-- `connections_count` (Number) Number of connections associated with this network
-- `href` (String) Fabric Network URI information
-- `id` (String) The ID of this resource.
-- `operation` (Set of Object) Network operation information that is associated with this Fabric Network (see [below for nested schema](#nestedatt--operation))
-- `state` (String) Fabric Network overall state
-- `uuid` (String) Equinix-assigned network identifier
-
-
-
-### Nested Schema for `notifications`
-
-Required:
-
-- `emails` (List of String) Array of contact emails
-- `type` (String) Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
-
-Optional:
-
-- `send_interval` (String) Send interval
-
-
-
-### Nested Schema for `project`
-
-Required:
-
-- `project_id` (String) Customer project identifier
-
-
-
-### Nested Schema for `location`
-
-Optional:
-
-- `ibx` (String) IBX Code
-- `metro_code` (String) Access point metro code
-- `metro_name` (String) Access point metro name
-- `region` (String) Access point region
-
-
-
-### Nested Schema for `timeouts`
-
-Optional:
-
-- `create` (String)
-- `delete` (String)
-- `read` (String)
-- `update` (String)
-
-
-
-### Nested Schema for `change`
-
-Read-Only:
-
-- `href` (String)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### 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)
-
-
-
-### Nested Schema for `operation`
-
-Read-Only:
-
-- `equinix_status` (String)
diff --git a/templates/resources/fabric_routing_protocol.md.tmpl b/templates/resources/fabric_routing_protocol.md.tmpl
deleted file mode 100644
index 599c3b7ae..000000000
--- a/templates/resources/fabric_routing_protocol.md.tmpl
+++ /dev/null
@@ -1,194 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-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
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_routing_protocol (Resource)
-
-Fabric V4 API compatible resource allows creation and management of Equinix Fabric connection
-
-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
-
-{{tffile "examples/resources/fabric_routing_protocol/example_1.tf"}}
-
-BGP Routing Protocol (Requires Direct Routing Protocol Created First):
-
-{{tffile "examples/resources/fabric_routing_protocol/example_2.tf"}}
-
-Direct and BGP Routing Protocol (Requires Depends On to Handle Synchronization):
-
-{{tffile "examples/resources/fabric_routing_protocol/example_3.tf"}}
-
-
-
-## 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
-- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
-- `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
-
-
-
-### Nested Schema for `bfd`
-
-Required:
-
-- `enabled` (Boolean) Bidirectional Forwarding Detection enablement
-
-Optional:
-
-- `interval` (String) Interval range between the received BFD control packets
-
-
-
-### 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
-
-
-
-### 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
-
-
-
-### Nested Schema for `direct_ipv4`
-
-Required:
-
-- `equinix_iface_ip` (String) Equinix side Interface IP address
-
-
-
-### Nested Schema for `direct_ipv6`
-
-Optional:
-
-- `equinix_iface_ip` (String) Equinix side Interface IP address
-
-
-
-### Nested Schema for `timeouts`
-
-Optional:
-
-- `create` (String)
-- `delete` (String)
-- `read` (String)
-- `update` (String)
-
-
-
-### Nested Schema for `change`
-
-Read-Only:
-
-- `href` (String)
-- `type` (String)
-- `uuid` (String)
-
-
-
-### 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)
-
-
-
-### Nested Schema for `operation`
-
-Read-Only:
-
-- `errors` (List of Object) (see [below for nested schema](#nestedobjatt--operation--errors))
-
-
-
-### 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)
-
-
-
-### Nested Schema for `operation.errors.additional_info`
-
-Read-Only:
-
-- `property` (String)
-- `reason` (String)
diff --git a/templates/resources/fabric_service_profile.md.tmpl b/templates/resources/fabric_service_profile.md.tmpl
deleted file mode 100644
index f96c2de65..000000000
--- a/templates/resources/fabric_service_profile.md.tmpl
+++ /dev/null
@@ -1,286 +0,0 @@
----
-# generated by https://github.com/hashicorp/terraform-plugin-docs
-page_title: "equinix_fabric_service_profile Resource - terraform-provider-equinix"
-subcategory: "Fabric"
-description: |-
- Fabric V4 API compatible resource allows creation and management of Equinix Fabric Service Profile
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_fabric_service_profile (Resource)
-
-Fabric V4 API compatible resource allows creation and management of Equinix Fabric Service Profile
-
-## Example Usage
-
-{{tffile "examples/resources/fabric_service_profile/example_1.tf"}}
-
-
-
-## Schema
-
-### Required
-
-- `description` (String) User-provided service description
-- `name` (String) Customer-assigned service profile name
-- `type` (String) Service profile type - L2_PROFILE, L3_PROFILE, ECIA_PROFILE, ECMC_PROFILE
-
-### Optional
-
-- `access_point_type_configs` (Block List) Access point config information (see [below for nested schema](#nestedblock--access_point_type_configs))
-- `allowed_emails` (List of String) Array of contact emails
-- `custom_fields` (Block List) Custom Fields (see [below for nested schema](#nestedblock--custom_fields))
-- `marketing_info` (Block Set, Max: 1) Marketing Info (see [below for nested schema](#nestedblock--marketing_info))
-- `metros` (Block List) Access point config information (see [below for nested schema](#nestedblock--metros))
-- `notifications` (Block List) Preferences for notifications on connection configuration or status changes (see [below for nested schema](#nestedblock--notifications))
-- `ports` (Block List) Ports (see [below for nested schema](#nestedblock--ports))
-- `project` (Block Set, Max: 1) Project information (see [below for nested schema](#nestedblock--project))
-- `self_profile` (Boolean) Self Profile indicating if the profile is created for customer's self use
-- `state` (String) Service profile state - ACTIVE, PENDING_APPROVAL, DELETED, REJECTED
-- `tags` (List of String) Tags attached to the connection
-- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
-- `virtual_devices` (Block List) Virtual Devices (see [below for nested schema](#nestedblock--virtual_devices))
-- `visibility` (String) Service profile visibility - PUBLIC, PRIVATE
-
-### Read-Only
-
-- `account` (Set of Object) Service Profile Owner Account Information (see [below for nested schema](#nestedatt--account))
-- `change_log` (Set of Object) Captures connection lifecycle change information (see [below for nested schema](#nestedatt--change_log))
-- `href` (String) Service Profile URI response attribute
-- `id` (String) The ID of this resource.
-- `uuid` (String) Equinix assigned service profile identifier
-
-
-
-### Nested Schema for `access_point_type_configs`
-
-Required:
-
-- `type` (String) Type of access point type config - VD, COLO
-
-Optional:
-
-- `allow_bandwidth_auto_approval` (Boolean) Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller
-- `allow_bandwidth_upgrade` (Boolean) Availability of a bandwidth upgrade. The default is false
-- `allow_custom_bandwidth` (Boolean) Setting to enable or disable the ability of the buyer to customize the bandwidth
-- `allow_remote_connections` (Boolean) Setting to allow or prohibit remote connections to the service profile
-- `api_config` (Block Set, Max: 1) Api configuration details (see [below for nested schema](#nestedblock--access_point_type_configs--api_config))
-- `authentication_key` (Block Set, Max: 1) Authentication key details (see [below for nested schema](#nestedblock--access_point_type_configs--authentication_key))
-- `bandwidth_alert_threshold` (Number) Percentage of port bandwidth at which an allocation alert is generated
-- `connection_label` (String) Custom name for Connection
-- `connection_redundancy_required` (Boolean) Mandate redundant connections
-- `enable_auto_generate_service_key` (Boolean) Enable auto generate service key
-- `link_protocol_config` (Block Set, Max: 1) Link protocol configuration details (see [below for nested schema](#nestedblock--access_point_type_configs--link_protocol_config))
-- `supported_bandwidths` (List of Number) Supported bandwidths
-
-Read-Only:
-
-- `uuid` (String) Colo/Port Uuid
-
-
-
-### Nested Schema for `access_point_type_configs.api_config`
-
-Optional:
-
-- `allow_over_subscription` (Boolean) Setting showing that oversubscription support is available (true) or not (false). The default is false
-- `api_available` (Boolean) Indicates if it's possible to establish connections based on the given service profile using the Equinix Fabric API.
-- `bandwidth_from_api` (Boolean) Indicates if the connection bandwidth can be obtained directly from the cloud service provider.
-- `equinix_managed_port` (Boolean) Setting indicating that the port is managed by Equinix (true) or not (false)
-- `equinix_managed_vlan` (Boolean) Setting indicating that the VLAN is managed by Equinix (true) or not (false)
-- `integration_id` (String) A unique identifier issued during onboarding and used to integrate the customer's service profile with the Equinix Fabric API.
-- `over_subscription_limit` (Number) Port bandwidth multiplier that determines the total bandwidth that can be allocated to users creating connections to your services. For example, a 10 Gbps port combined with an overSubscriptionLimit parameter value of 10 allows your subscribers to create connections with a total bandwidth of 100 Gbps.
-
-
-
-### Nested Schema for `access_point_type_configs.authentication_key`
-
-Optional:
-
-- `description` (String) Description of authorization key
-- `label` (String) Name of the parameter that must be provided to authorize the connection.
-- `required` (Boolean) Requirement to configure an authentication key.
-
-
-
-### Nested Schema for `access_point_type_configs.link_protocol_config`
-
-Optional:
-
-- `encapsulation` (String) Data frames encapsulation standard.UNTAGGED - Untagged encapsulation for EPL connections. DOT1Q - DOT1Q encapsulation standard. QINQ - QINQ encapsulation standard.
-- `encapsulation_strategy` (String) Additional tagging information required by the seller profile.
-- `reuse_vlan_s_tag` (Boolean) Automatically accept subsequent DOT1Q to QINQ connections that use the same authentication key. These connections will have the same VLAN S-tag assigned as the initial connection.
-
-
-
-### Nested Schema for `custom_fields`
-
-Required:
-
-- `data_type` (String) Data type
-- `label` (String) Label
-- `required` (Boolean) Required field
-
-Optional:
-
-- `capture_in_email` (Boolean) Required field
-- `description` (String) Description
-- `options` (List of String) Options
-
-
-
-### Nested Schema for `marketing_info`
-
-Optional:
-
-- `logo` (String) Logo
-- `process_step` (Block List) Process Step (see [below for nested schema](#nestedblock--marketing_info--process_step))
-- `promotion` (Boolean) Promotion
-
-
-
-### Nested Schema for `marketing_info.process_step`
-
-Optional:
-
-- `description` (String) Description
-- `sub_title` (String) Sub Title
-- `title` (String) Title
-
-
-
-### Nested Schema for `metros`
-
-Optional:
-
-- `code` (String) Metro Code - Example SV
-- `display_name` (String) Display Name
-- `ibxs` (List of String) IBX- Equinix International Business Exchange list
-- `in_trail` (Boolean) In Trail
-- `name` (String) Metro Name
-- `seller_regions` (Map of String) Seller Regions
-
-
-
-### Nested Schema for `notifications`
-
-Required:
-
-- `emails` (List of String) Array of contact emails
-- `type` (String) Notification Type - ALL,CONNECTION_APPROVAL,SALES_REP_NOTIFICATIONS, NOTIFICATIONS
-
-Optional:
-
-- `send_interval` (String) Send interval
-
-
-
-### Nested Schema for `ports`
-
-Required:
-
-- `type` (String) Colo/Port Type
-- `uuid` (String) Colo/Port Uuid
-
-Optional:
-
-- `cross_connect_id` (String) Cross Connect Id
-- `location` (Block Set, Max: 1) Colo/Port Location (see [below for nested schema](#nestedblock--ports--location))
-- `seller_region` (String) Seller Region
-- `seller_region_description` (String) Seller Region details
-
-
-
-### Nested Schema for `ports.location`
-
-Optional:
-
-- `ibx` (String) IBX Code
-- `metro_code` (String) Access point metro code
-- `metro_name` (String) Access point metro name
-- `region` (String) Access point region
-
-
-
-### Nested Schema for `project`
-
-Optional:
-
-- `project_id` (String) Project Id
-
-Read-Only:
-
-- `href` (String) Unique Resource URL
-
-
-
-### Nested Schema for `timeouts`
-
-Optional:
-
-- `create` (String)
-- `delete` (String)
-- `read` (String)
-- `update` (String)
-
-
-
-### Nested Schema for `virtual_devices`
-
-Required:
-
-- `type` (String) Virtual Device Type
-- `uuid` (String) Virtual Device Uuid
-
-Optional:
-
-- `interface_uuid` (String) Device Interface Uuid
-- `location` (Block Set, Max: 1) Device Location (see [below for nested schema](#nestedblock--virtual_devices--location))
-
-
-
-### Nested Schema for `virtual_devices.location`
-
-Optional:
-
-- `ibx` (String) IBX Code
-- `metro_code` (String) Access point metro code
-- `metro_name` (String) Access point metro name
-- `region` (String) Access point region
-
-
-
-### 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)
-- `ucm_id` (String)
-
-
-
-### 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)
diff --git a/templates/resources/metal_bgp_session.md.tmpl b/templates/resources/metal_bgp_session.md.tmpl
deleted file mode 100644
index b292be525..000000000
--- a/templates/resources/metal_bgp_session.md.tmpl
+++ /dev/null
@@ -1,40 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_bgp_session (Resource)
-
-Provides a resource to manage BGP sessions in Equinix Metal Host. Refer to [Equinix Metal BGP documentation](https://metal.equinix.com/developers/docs/networking/local-global-bgp/) for more details.
-
-You need to have BGP config enabled in your project.
-
-BGP session must be linked to a device running [BIRD](https://bird.network.cz) or other BGP routing daemon which will control route advertisements via the session to Equinix Metal's upstream routers.
-
-## Example Usage
-
-Following HCL illustrates usage of the BGP features in Equinix Metal. It will
-
-* spawn a device in a new BGP-enabled project
-* reserve a floating IPv4 address in the project in the same location as the device
-* configure the floating IPv4 statically in the device
-* install and configure [BIRD](https://bird.network.cz) in the device, and make it announce the floating IPv4 locally
-
-{{tffile "examples/resources/metal_bgp_session/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `device_id` - (Required) ID of device.
-* `address_family` - (Required) `ipv4` or `ipv6`.
-* `default_route` - (Optional) Boolean flag to set the default route policy. False by default.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `status`: Status of the session - `up` or `down`
diff --git a/templates/resources/metal_connection.md.tmpl b/templates/resources/metal_connection.md.tmpl
deleted file mode 100644
index b96eac3bc..000000000
--- a/templates/resources/metal_connection.md.tmpl
+++ /dev/null
@@ -1,59 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_connection (Resource)
-
-Use this resource to request the creation an Interconnection asset to connect with other parties using [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/).
-
-~> Equinix Metal connection with with Service Token A-side / Z-side (service_token_type) is not generally available and may not be enabled yet for your organization.
-
-## Example Usage
-
-### Shared Connection with a_side token - Redundant Connection from Equinix Metal to a Cloud Service Provider
-
-{{tffile "examples/resources/metal_connection/example_1.tf"}}
-
--> NOTE: There are multiple [Equinix Fabric L2 Connection Terraform modules](https://registry.terraform.io/search/modules?namespace=equinix-labs&q=fabric-connection) available with full-fledged examples of connections from Fabric Ports, Network Edge Devices or Service Token to most popular Cloud Service Providers. Check out the examples for Equinix Metal shared connection with A-side Service Token included in each of them: [AWS](https://registry.terraform.io/modules/equinix-labs/fabric-connection-aws/equinix/latest/examples/service-token-metal-to-aws-connection), [Azure](https://registry.terraform.io/modules/equinix-labs/fabric-connection-azure/equinix/latest/examples/service-token-metal-to-azure-connection), [Google Cloud](https://registry.terraform.io/modules/equinix-labs/fabric-connection-gcp/equinix/latest/examples/service-token-metal-to-gcp-connection), [IBM Cloud](https://registry.terraform.io/modules/equinix-labs/fabric-connection-ibm/equinix/latest/examples/service-token-metal-to-ibm-connection), [Oracle Cloud](https://registry.terraform.io/modules/equinix-labs/fabric-connection-oci/equinix/latest/examples/service-token-metal-to-oci-connection), [Alibaba Cloud](https://registry.terraform.io/modules/equinix-labs/fabric-connection-alibaba/equinix/latest/examples/service-token-metal-to-alibaba-connection).
-
-### Shared Connection with z_side token - Non-redundant Connection from your own Equinix Fabric Port to Equinix Metal
-
-{{tffile "examples/resources/metal_connection/example_2.tf"}}
-
--> NOTE: There is an [Equinix Fabric L2 Connection To Equinix Metal Terraform module](https://registry.terraform.io/modules/equinix-labs/fabric-connection-metal/equinix/latest) available with full-fledged examples of connections from Fabric Ports, Network Edge Devices or Service Tokens. Check out the [example for shared connection with Z-side Service Token](https://registry.terraform.io/modules/equinix-labs/fabric-connection-metal/equinix/0.2.0/examples/fabric-port-connection-with-zside-token).
-
-### Shared Connection for organizations without Connection Services Token feature enabled
-
-{{tffile "examples/resources/metal_connection/example_3.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) Name of the connection resource
-* `metro` - (Optional) Metro where the connection will be created.
-* `facility` - (**Deprecated**) Facility where the connection will be created. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `redundancy` - (Required) Connection redundancy - redundant or primary.
-* `type` - (Required) Connection type - dedicated or shared.
-* `contact_email` - (Optional) The preferred email used for communication and notifications about the Equinix Fabric interconnection. Required when using a Project API key. Optional and defaults to the primary user email address when using a User API key.
-* `project_id` - (Optional) ID of the project where the connection is scoped to, must be set for.
-* `speed` - (Required) Connection speed - Values must be in the format 'Mbps' or 'Gpbs', for example '100Mbps' or '50Gbps'. Actual supported values will depend on the connection type and whether the connection uses VLANs or VRF.
-* `description` - (Optional) Description for the connection resource.
-* `mode` - (Optional) Mode for connections in IBX facilities with the dedicated type - standard or tunnel. Default is standard.
-* `tags` - (Optional) String list of tags.
-* `vlans` - (Optional) Only used with shared connection. Vlans to attach. Pass one vlan for Primary/Single connection and two vlans for Redundant connection.
-* `service_token_type` - (Optional) Only used with shared connection. Type of service token to use for the connection, a_side or z_side. (**NOTE: To support the legacy non-automated way to create connections, terraform will not check if `service_token_type` is specified. If your organization already has `service_token_type` enabled, be sure to specify it or the connection will return a legacy connection token instead of a service token**)
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `organization_id` - ID of the organization where the connection is scoped to.
-* `status` - Status of the connection resource.
-* `ports` - List of connection ports - primary (`ports[0]`) and secondary (`ports[1]`). Schema of port is described in documentation of the [equinix_metal_connection datasource](../data-sources/equinix_metal_connection.md).
-* `service_tokens` - List of connection service tokens with attributes required to configure the connection in Equinix Fabric with the [equinix_ecx_l2_connection](./equinix_ecx_l2_connection.md) resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). Scehma of service_token is described in documentation of the [equinix_metal_connection datasource](../data-sources/equinix_metal_connection.md).
-* `token` - (Deprecated) Fabric Token required to configure the connection in Equinix Fabric with the [equinix_ecx_l2_connection](./equinix_ecx_l2_connection.md) resource or from the [Equinix Fabric Portal](https://ecxfabric.equinix.com/dashboard). If your organization already has connection service tokens enabled, use `service_tokens` instead.
diff --git a/templates/resources/metal_device.md.tmpl b/templates/resources/metal_device.md.tmpl
deleted file mode 100644
index 24d3d106c..000000000
--- a/templates/resources/metal_device.md.tmpl
+++ /dev/null
@@ -1,162 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_device (Resource)
-
-Provides an Equinix Metal device resource. This can be used to create, modify, and delete devices.
-
-~> **NOTE:** All arguments including the `root_password` and `user_data` will be stored in the raw state as plain-text. [Read more about sensitive data in state](https://developer.hashicorp.com/terraform/language/state/sensitive-data).
-
-## Example Usage
-
-Create a device and add it to cool_project
-
-{{tffile "examples/resources/metal_device/example_1.tf"}}
-
-Same as above, but boot via iPXE initially, using the Ignition Provider for provisioning
-
-{{tffile "examples/resources/metal_device/example_2.tf"}}
-
-Create a device without a public IP address in metro ny, with only a /30 private IPv4 subnet (4 IP addresses)
-
-{{tffile "examples/resources/metal_device/example_3.tf"}}
-
-Deploy device on next-available reserved hardware and do custom partitioning.
-
-{{tffile "examples/resources/metal_device/example_4.tf"}}
-
-Create a device and allow the `user_data` and `custom_data` attributes to change in-place (i.e., without destroying and recreating the device):
-
-{{tffile "examples/resources/metal_device/example_5.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `always_pxe` - (Optional) If true, a device with OS `custom_ipxe` will continue to boot via iPXE on reboots.
-* `behavior` - (Optional) Behavioral overrides that change how the resource handles certain attribute updates. See [Behavior](#behavior) below for more details.
-* `billing_cycle` - (Optional) monthly or hourly
-* `custom_data` - (Optional) A string of the desired Custom Data for the device. By default, changing this attribute will cause the provider to destroy and recreate your device. If `reinstall` is specified or `behavior.allow_changes` includes `"custom_data"`, the device will be updated in-place instead of recreated.
-* `description` - (Optional) The device description.
-* `facilities` - (**Deprecated**) List of facility codes with deployment preferences. Equinix Metal API will go through the list and will deploy your device to first facility with free capacity. List items must be facility codes or `any` (a wildcard). To find the facility code, visit [Facilities API docs](https://metal.equinix.com/developers/api/facilities/), set your API auth token in the top of the page and see JSON from the API response. Conflicts with `metro`. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `force_detach_volumes` - (Optional) Delete device even if it has volumes attached. Only applies for destroy action.
-* `hardware_reservation_id` - (Optional) The UUID of the hardware reservation where you want this device deployed, or `next-available` if you want to pick your next available reservation automatically. Changing this from a reservation UUID to `next-available` will re-create the device in another reservation. Please be careful when using hardware reservation UUID and `next-available` together for the same pool of reservations. It might happen that the reservation which Equinix Metal API will pick as `next-available` is the reservation which you refer with UUID in another equinix_metal_device resource. If that happens, and the equinix_metal_device with the UUID is created later, resource creation will fail because the reservation is already in use (by the resource created with `next-available`). To workaround this, have the `next-available` resource [explicitly depend_on](https://learn.hashicorp.com/terraform/getting-started/dependencies.html#implicit-and-explicit-dependencies) the resource with hardware reservation UUID, so that the latter is created first. For more details, see [issue #176](https://github.com/packethost/terraform-provider-packet/issues/176).
-* `hostname` - (Optional) The device hostname used in deployments taking advantage of Layer3 DHCP or metadata service configuration.
-* `ip_address` - (Optional) A list of IP address types for the device. See [IP address](#ip-address) below for more details.
-* `ipxe_script_url` - (Optional) URL pointing to a hosted iPXE script. More information is in the [Custom iPXE](https://metal.equinix.com/developers/docs/servers/custom-ipxe/) doc.
-* `metro` - (Optional) Metro area for the new device. Conflicts with `facilities`.
-* `operating_system` - (Required) The operating system slug. To find the slug, or visit [Operating Systems API docs](https://metal.equinix.com/developers/api/operatingsystems), set your API auth token in the top of the page and see JSON from the API response.
-* `plan` - (Required) The device plan slug. To find the plan slug, visit [Device plans API docs](https://metal.equinix.com/developers/api/plans), set your auth token in the top of the page and see JSON from the API response.
-* `project_id` - (Required) The ID of the project in which to create the device
-* `project_ssh_key_ids` - (Optional) Array of IDs of the project SSH keys which should be added to the device. If you specify this array, only the listed project SSH keys (and any SSH keys for the users specified in user_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. Project SSH keys can be created with the [equinix_metal_project_ssh_key](equinix_metal_project_ssh_key.md) resource.
-* `user_ssh_key_ids` - (Optional) Array of IDs of the users whose SSH keys should be added to the device. If you specify this array, only the listed users' SSH keys (and any project SSH keys specified in project_ssh_key_ids) will be added. If no SSH keys are specified (both user_ssh_keys_ids and project_ssh_key_ids are empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. User SSH keys can be created with the [equinix_metal_ssh_key](equinix_metal_ssh_key.md) resource.
-* `reinstall` - (Optional) Whether the device should be reinstalled instead of destroyed when modifying user_data, custom_data, or operating system. See [Reinstall](#reinstall) below for more details.
-* `storage` - (Optional) JSON for custom partitioning. Only usable on reserved hardware. More information in in the [Custom Partitioning and RAID](https://metal.equinix.com/developers/docs/servers/custom-partitioning-raid/) doc. Please note that the disks.partitions.size attribute must be a string, not an integer. It can be a number string, or size notation string, e.g. "4G" or "8M" (for gigabytes and megabytes).
-* `tags` - (Optional) Tags attached to the device.
-* `termination_time` - (Optional) Timestamp for device termination. For example `2021-09-03T16:32:00+03:00`. If you don't supply timezone info, timestamp is assumed to be in UTC.
-* `user_data` - (Optional) A string of the desired User Data for the device. By default, changing this attribute will cause the provider to destroy and recreate your device. If `reinstall` is specified or `behavior.allow_changes` includes `"user_data"`, the device will be updated in-place instead of recreated.
-* `wait_for_reservation_deprovision` - (Optional) Only used for devices in reserved hardware. If set, the deletion of this device will block until the hardware reservation is marked provisionable (about 4 minutes in August 2019).
-
-### Behavior
-
-The `behavior` block has below fields:
-
-* `allow_changes` - (Optional) List of attributes that are allowed to change without recreating the instance. Supported attributes: `custom_data`, `user_data`"
-
-### IP address
-
-The `ip_address` block has below fields:
-
-* `type` - (Required) One of `private_ipv4`, `public_ipv4`, `public_ipv6`.
-* `cidr` - (Optional) CIDR suffix for IP address block to be assigned, i.e. amount of addresses.
-* `reservation_ids` - (Optional) List of UUIDs of [IP block reservations](metal_reserved_ip_block.md) from which the public IPv4 address should be taken.
-
-You can supply one `ip_address` block per IP address type. If you use the `ip_address` you must always pass a block for `private_ipv4`.
-
-To learn more about using the reserved IP addresses for new devices, see the examples in the [equinix_metal_reserved_ip_block](metal_reserved_ip_block.md) documentation.
-
-### Reinstall
-
-The `reinstall` block has below fields:
-
-* `enabled` - (Optional) Whether the provider should favour reinstall over destroy and create. Defaults to `false`.
-* `preserve_data` - (Optional) Whether the non-OS disks should be kept or wiped during reinstall. Defaults to `false`.
-* `deprovision_fast` - (Optional) Whether the OS disk should be filled with `00h` bytes before reinstall. Defaults to `false`.
-
-### Timeouts
-
-The `timeouts` block allows you to specify [timeouts](https://www.terraform.io/configuration/resources#operation-timeouts) for certain actions:
-
-* `create` - (Defaults to 20 mins) Used when creating the Device. This includes the time to provision the OS.
-* `update` - (Defaults to 20 mins) Used when updating the Device. This includes the time needed to reprovision instances when `reinstall` arguments are used.
-* `delete` - (Defaults to 20 mins) Used when deleting the Device. This includes the time to deprovision a hardware reservation when `wait_for_reservation_deprovision` is enabled.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `access_private_ipv4` - The ipv4 private IP assigned to the device.
-* `access_public_ipv4` - The ipv4 maintenance IP assigned to the device.
-* `access_public_ipv6` - The ipv6 maintenance IP assigned to the device.
-* `billing_cycle` - The billing cycle of the device (monthly or hourly).
-* `created` - The timestamp for when the device was created.
-* `deployed_facility` - (**Deprecated**) The facility where the device is deployed. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `deployed_hardware_reservation_id` - ID of hardware reservation where this device was deployed. It is useful when using the `next-available` hardware reservation.
-* `description` - Description string for the device.
-* `hostname` - The hostname of the device.
-* `id` - The ID of the device.
-* `locked` - Whether the device is locked or unlocked. Locking a device prevents you from deleting or reinstalling the device or performing a firmware update on the device, and it prevents an instance with a termination time set from being reclaimed, even if the termination time was reached
-* `metro` - The metro area where the device is deployed.
-* `network` - The device's private and public IP (v4 and v6) network details. See [Network Attribute](#network-attribute) below for more details.
-* `network_type` - (Deprecated) Network type of a device, used in [Layer 2 networking](https://metal.equinix.com/developers/docs/networking/layer2/). Since this attribute is deprecated you should handle Network Type with one of [equinix_metal_port](equinix_metal_port.md), [equinix_metal_device_network_type](equinix_metal_device_network_type.md) resources or [equinix_metal_port](../data-sources/equinix_metal_port.md) datasource. See [network_types guide](../guides/network_types.md) for more info.
-* `operating_system` - The operating system running on the device.
-* `plan` - The hardware config of the device.
-* `ports` - List of ports assigned to the device. See [Ports Attribute](#ports-attribute) below for more details.
-* `project_id` - The ID of the project the device belongs to.
-* `root_password` - Root password to the server (disabled after 24 hours).
-* `sos_hostname` - The hostname to use for [Serial over SSH](https://deploy.equinix.com/developers/docs/metal/resilience-recovery/serial-over-ssh/) access to the device
-* `ssh_key_ids` - List of IDs of SSH keys deployed in the device, can be both user and project SSH keys.
-* `state` - The status of the device.
-* `tags` - Tags attached to the device.
-* `updated` - The timestamp for the last time the device was updated.
-
-### Network Attribute
-
-When a device is run without any special network, it will have 3 networks:
-
-* Public IPv4 at `equinix_metal_device.name.network.0`.
-* IPv6 at `equinix_metal_device.name.network.1`.
-* Private IPv4 at `equinix_metal_device.name.network.2`.
-
--> **NOTE:** Elastic addresses stack by type. An assigned public IPv4 will go after the management public IPv4 (to index 1), and will then shift the indices of the IPv6 and private IPv4. Assigned private IPv4 will go after the management private IPv4 (to the end of the network list).
-
-Each element in the `network` list exports:
-
-* `address` - IPv4 or IPv6 address string.
-* `cidr` - Bit length of the network mask of the address.
-* `gateway` - Address of router.
-* `public` - Whether the address is routable from the Internet.
-* `family` - IP version. One of `4`, `6`.
-
-### Ports Attribute
-
-Each element in the `ports` list exports:
-
-* `name` - Name of the port (e.g. `eth0`, or `bond0`).
-* `id` - ID of the port.
-* `type` - Type of the port (e.g. `NetworkPort` or `NetworkBondPort`).
-* `mac` - MAC address assigned to the port.
-* `bonded` - Whether this port is part of a bond in bonded network setup.
-
-## Import
-
-This resource can be imported using an existing device ID:
-
-```sh
-terraform import equinix_metal_device {existing_device_id}
-```
diff --git a/templates/resources/metal_device_network_type.md.tmpl b/templates/resources/metal_device_network_type.md.tmpl
deleted file mode 100644
index 1f6056aad..000000000
--- a/templates/resources/metal_device_network_type.md.tmpl
+++ /dev/null
@@ -1,43 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_device_network_type (Resource)
-
-This resource controls network type of Equinix Metal devices.
-
-To learn more about Layer 2 networking in Equinix Metal, refer to
-
-* https://metal.equinix.com/developers/docs/networking/layer2/
-* https://metal.equinix.com/developers/docs/networking/layer2-configs/
-
-If you are attaching VLAN to a device (i.e. using equinix_metal_port_vlan_attachment), link the device ID from this resource, in order to make the port attachment implicitly dependent on the state of the network type. If you link the device ID from the equinix_metal_device resource, Terraform will not wait for the network type change. See examples in [equinix_metal_port_vlan_attachment](port_vlan_attachment).
-
-## Example Usage
-
--> **NOTE:** This resource takes a named network type with any mode required parameters and converts a device to the named network type. This resource simulated the network type interface for Devices in the Equinix Metal Portal. That interface changed when additional network types were introduced with more diverse port configurations and it is not guaranteed to work in devices with more than two ethernet ports. See the [Network Types Guide](../guides/network_types.md) for examples of this resource and to learn about the recommended `equinix_metal_port` alternative.
-
-## Import
-
-This resource can also be imported using existing device ID:
-
-```sh
-terraform import equinix_metal_device_network_type {existing device_id}
-```
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `device_id` - (Required) The ID of the device on which the network type should be set.
-* `type` - (Required) Network type to set. Must be one of `layer3`, `hybrid`, `hybrid-bonded`, `layer2-individual` and `layer2-bonded`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - ID of the controlled device. Use this in linked resources, if you need to wait for the network type change. It is the same as `device_id`.
diff --git a/templates/resources/metal_gateway.md.tmpl b/templates/resources/metal_gateway.md.tmpl
deleted file mode 100644
index 4c0ba2e7d..000000000
--- a/templates/resources/metal_gateway.md.tmpl
+++ /dev/null
@@ -1,41 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_gateway (Resource)
-
-Use this resource to create Metal Gateway resources in Equinix Metal.
-
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-
-## Example Usage
-
-{{tffile "examples/resources/metal_gateway/example_1.tf"}}
-
-{{tffile "examples/resources/metal_gateway/example_2.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `project_id` - (Required) UUID of the project where the gateway is scoped to.
-* `vlan_id` - (Required) UUID of the VLAN where the gateway is scoped to.
-* `ip_reservation_id` - (Optional) UUID of Public or VRF IP Reservation to associate with the gateway, the reservation must be in the same metro as the VLAN, conflicts with `private_ipv4_subnet_size`.
-* `private_ipv4_subnet_size` - (Optional) Size of the private IPv4 subnet to create for this metal gateway, must be one of `8`, `16`, `32`, `64`, `128`. Conflicts with `ip_reservation_id`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `state` - Status of the gateway resource.
-* `vrf_id` - UUID of the VRF associated with the IP Reservation
-
-## Timeouts
-
-[Configuration options](https://developer.hashicorp.com/terraform/language/resources/syntax#operation-timeouts):
-
-* `delete` - (Default `20m`)
diff --git a/templates/resources/metal_ip_attachment.md.tmpl b/templates/resources/metal_ip_attachment.md.tmpl
deleted file mode 100644
index 8903a3675..000000000
--- a/templates/resources/metal_ip_attachment.md.tmpl
+++ /dev/null
@@ -1,42 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_ip_attachment (Resource)
-
-Provides a resource to attach elastic IP subnets to devices.
-
-To attach an IP subnet from a reserved block to a provisioned device, you must derive a subnet CIDR belonging to one of your reserved blocks in the same project and metro as the target device.
-
-For example, you have reserved IPv4 address block `147.229.10.152/30`, you can choose to assign either the whole block as one subnet to a device; or 2 subnets with CIDRs `147.229.10.152/31` and `147.229.10.154/31`; or 4 subnets with mask prefix length `32`. More about the elastic IP subnets is [here](https://metal.equinix.com/developers/docs/networking/elastic-ips/).
-
-Device and reserved block must be in the same metro.
-
-## Example Usage
-
-{{tffile "examples/resources/metal_ip_attachment/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `device_id` - (Required) ID of device to which to assign the subnet.
-* `cidr_notation` - (Required) CIDR notation of subnet from block reserved in the same project and metro as the device.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the assignment.
-* `device_id` - ID of device to which subnet is assigned.
-* `cidr_notation` - Assigned subnet in CIDR notation, e.g., `147.229.15.30/31`
-* `gateway` - IP address of gateway for the subnet.
-* `network` - Subnet network address.
-* `netmask` - Subnet mask in decimal notation, e.g., `255.255.255.0`.
-* `cidr` - Length of CIDR prefix of the subnet as integer.
-* `address_family` - Address family as integer. One of `4` or `6`.
-* `public` - Boolean flag whether subnet is reachable from the Internet.
diff --git a/templates/resources/metal_organization.md.tmpl b/templates/resources/metal_organization.md.tmpl
deleted file mode 100644
index 420fe9f60..000000000
--- a/templates/resources/metal_organization.md.tmpl
+++ /dev/null
@@ -1,52 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_organization (Resource)
-
-Provides a resource to manage organization resource in Equinix Metal.
-
-## Example Usage
-
-{{tffile "examples/resources/metal_organization/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) The name of the Organization.
-* `address` - (Required) An object that has the address information. See [Address](#address) below for more details.
-* `description` - (Optional) Description string.
-* `website` - (Optional) Website link.
-* `twitter` - (Optional) Twitter handle.
-* `logo` - (Optional) Logo URL.
-
-### Address
-
-The `address` block contains:
-
-* `address` - (Required) Postal address.
-* `city` - (Required) City name.
-* `country` - (Required) Two letter country code (ISO 3166-1 alpha-2), e.g. US.
-* `zip_code` - (Required) Zip Code.
-* `state` - (Optional) State name.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the organization.
-* `created` - The timestamp for when the organization was created.
-* `updated` - The timestamp for the last time the organization was updated.
-
-## Import
-
-This resource can be imported using an existing organization ID:
-
-```sh
-terraform import equinix_metal_organization {existing_organization_id}
-```
diff --git a/templates/resources/metal_organization_member.md.tmpl b/templates/resources/metal_organization_member.md.tmpl
deleted file mode 100644
index 53764a996..000000000
--- a/templates/resources/metal_organization_member.md.tmpl
+++ /dev/null
@@ -1,50 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_organization_member (Resource)
-
-Manage the membership of existing and new invitees within an Equinix Metal organization and its projects.
-
-## Example Usage
-
-Add a member to an organization to collaborate on given projects:
-
-{{tffile "examples/resources/metal_organization_member/example_1.tf"}}
-
-Add a member to an organization as an organization administrator:
-
-{{tffile "examples/resources/metal_organization_member/example_2.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `invitee` - (Required) The email address of the user to invite
-* `organization_id` - (Required) The organization to invite the user to
-* `projects_ids` - (Required) Project IDs the member has access to within the organization. If the member is an 'admin', the projects list should be empty.
-* `roles` - (Required) Organization roles (admin, collaborator, limited_collaborator, billing)
-* `message` - A message to include in the emailed invitation.
-
-## Attribute Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the membership.
-* `nonce` - The nonce for the invitation (only known in the invitation stage)
-* `invited_by` - The user_id of the user that sent the invitation (only known in the invitation stage)
-* `created` - When the invitation was created (only known in the invitation stage)
-* `updated` - When the invitation was updated (only known in the invitation stage)
-* `state` - The state of the membership ('invited' when an invitation is open, 'active' when the user is an organization member)
-
-## Import
-
-This resource can be imported using the `invitee` and `organization_id` as colon separated arguments:
-
-```sh
-terraform import equinix_metal_organization_member.resource_name {invitee}:{organization_id}
-```
diff --git a/templates/resources/metal_port.md.tmpl b/templates/resources/metal_port.md.tmpl
deleted file mode 100644
index da856ac0d..000000000
--- a/templates/resources/metal_port.md.tmpl
+++ /dev/null
@@ -1,51 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_port (Resource)
-
-Use this resource to configure network ports on an Equinix Metal device. This resource can control both physical and bond ports.
-
-This Terraform resource doesn't create an API resource in Equinix Metal, but rather provides finer control for [Layer 2 networking](https://metal.equinix.com/developers/docs/layer2-networking/).
-
-The port resource referred is created together with device and accessible either via the device resource or over `/port/` API path.
-
--> To achieve the network configurations available in the portal it may require the creation and combination of various `equinix_metal_port` resources. See the [Network Types Guide](../guides/network_types.md) for examples of this resource.
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `port_id` - (Required) ID of the port to read.
-* `bonded` - (Required) Whether the port should be bonded.
-* `layer2` - (Optional) Whether to put the port to Layer 2 mode, valid only for bond ports.
-* `vlan_ids` - (Optional) List of VLAN UUIDs to attach to the port, valid only for L2 and Hybrid ports.
-* `vxlan_ids` - (Optional) List of VXLAN IDs to attach to the port, valid only for L2 and Hybrid ports.
-* `native_vlan_id` - (Optional) UUID of a VLAN to assign as a native VLAN. It must be one of attached VLANs (from `vlan_ids` parameter).
-* `reset_on_delete` - (Optional) Behavioral setting to reset the port to default settings (layer3 bonded mode without any vlan attached) before delete/destroy.
-
-### Timeouts
-
-The `timeouts` block allows you to specify [timeouts](https://www.terraform.io/configuration/resources#operation-timeouts) for certain actions:
-
-These timeout includes the time to disbond, convert to L2/L3, bond and update native vLAN.
-
-* `create` - (Defaults to 30 mins) Used when creating the Port.
-* `update` - (Defaults to 30 mins) Used when updating the Port.
-* `delete` - (Defaults to 30 mins) Used when deleting the Port.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `name` - Name of the port, e.g. `bond0` or `eth0`.
-* `network_type` - One of layer2-bonded, layer2-individual, layer3, hybrid and hybrid-bonded. This attribute is only set on bond ports.
-* `type` - Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports.
-* `mac` - MAC address of the port.
-* `bond_id` - UUID of the bond port.
-* `bond_name` - Name of the bond port.
-* `disbond_supported` - Flag indicating whether the port can be removed from a bond.
diff --git a/templates/resources/metal_port_vlan_attachment.md.tmpl b/templates/resources/metal_port_vlan_attachment.md.tmpl
deleted file mode 100644
index 04ede0841..000000000
--- a/templates/resources/metal_port_vlan_attachment.md.tmpl
+++ /dev/null
@@ -1,48 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_port_vlan_attachment (Resource)
-
-Provides a resource to attach device ports to VLANs.
-
-Device and VLAN must be in the same metro.
-
-If you need this resource to add the port back to bond on removal, set `force_bond = true`.
-
-To learn more about Layer 2 networking in Equinix Metal, refer to
-
-* https://metal.equinix.com/developers/docs/networking/layer2/
-* https://metal.equinix.com/developers/docs/networking/layer2-configs/
-
-## Example Usage
-
-### Hybrid network type
-
-{{tffile "examples/resources/metal_port_vlan_attachment/example_1.tf"}}
-
-### Layer 2 network
-
-{{tffile "examples/resources/metal_port_vlan_attachment/example_2.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `device_id` - (Required) ID of device to be assigned to the VLAN.
-* `port_name` - (Required) Name of network port to be assigned to the VLAN.
-* `vlan_vnid` - (Required) VXLAN Network Identifier.
-* `force_bond` - (Optional) Add port back to the bond when this resource is removed. Default is `false`.
-* `native` - (Optional) Mark this VLAN a native VLAN on the port. This can be used only if this assignment assigns second or further VLAN to the port. To ensure that this attachment is not first on a port, you can use `depends_on` pointing to another `equinix_metal_port_vlan_attachment`, just like in the layer2-individual example above.
-
-## Attribute Referece
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - UUID of device port used in the assignment.
-* `vlan_id` - UUID of VLAN API resource.
-* `port_id` - UUID of device port.
diff --git a/templates/resources/metal_project.md.tmpl b/templates/resources/metal_project.md.tmpl
deleted file mode 100644
index e26dbe675..000000000
--- a/templates/resources/metal_project.md.tmpl
+++ /dev/null
@@ -1,78 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_project (Resource)
-
-Provides an Equinix Metal project resource to allow you manage devices in your projects.
-
--> **NOTE:** Keep in mind that Equinix Metal invoicing is per project, so creating many `equinix_metal_project` resources will affect the rendered invoice. If you want to keep your Equinix Metal bill simple and easy to review, please re-use your existing projects.
-
-## Example Usage
-
-### Create a new project
-
-{{tffile "examples/resources/metal_project/example_1.tf"}}
-
-### Example with BGP config
-
-{{tffile "examples/resources/metal_project/example_2.tf"}}
-
-### Enabling BGP in an existing project
-
-If you want to enable BGP in an existing Equinix Metal project, you should first create a resource in your TF config for the existing projects. Set your BGP configuration.
-
-{{tffile "examples/resources/metal_project/example_3.tf"}}
-
-Then, find out the UUID of the existing project, and import it to your TF state.
-
-```sh
-terraform import equinix_metal_project.existing_project e188d7db-46a7-46cb-8969-e63ec22695d5
-```
-
-Your existing project is now loaded in your local TF state, and linked to the resource with given name.
-
-After running `terraform apply`, the project will be updated with configuration provided in the TF template.
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) The name of the project. The maximum length is 80 characters
-* `organization_id` - (Required) The UUID of organization under which you want to create the project. If you leave it out, the project will be created under your the default organization of your account.
-* `payment_method_id` - The UUID of payment method for this project. The payment method and the project need to belong to the same organization (passed with `organization_id`, or default).
-* `backend_transfer` - Enable or disable [Backend Transfer](https://metal.equinix.com/developers/docs/networking/backend-transfer/), default is `false`.
-* `bgp_config` - Optional BGP settings. Refer to [Equinix Metal guide for BGP](https://metal.equinix.com/developers/docs/networking/local-global-bgp/).
-
--> **NOTE:** Once you set the BGP config in a project, it can't be removed (due to a limitation in the Equinix Metal API). It can be updated.
-
-The `bgp_config` block supports:
-
-* `asn` - (Required) Autonomous System Number for local BGP deployment.
-* `deployment_type` - (Required) `local` or `global`, the `local` is likely to be usable immediately, the `global` will need to be reviewed by Equinix Metal engineers.
-* `md5` - (Optional) Password for BGP session in plaintext (not a checksum).
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the project.
-* `created` - The timestamp for when the project was created.
-* `updated` - The timestamp for the last time the project was updated.
-
-The `bgp_config` block additionally exports:
-
-* `status` - status of BGP configuration in the project.
-* `max_prefix` - The maximum number of route filters allowed per server.
-
-## Import
-
-This resource can be imported using an existing project ID:
-
-```sh
-terraform import equinix_metal_project {existing_project_id}
-```
diff --git a/templates/resources/metal_project_api_key.md.tmpl b/templates/resources/metal_project_api_key.md.tmpl
deleted file mode 100644
index 726b3ffda..000000000
--- a/templates/resources/metal_project_api_key.md.tmpl
+++ /dev/null
@@ -1,31 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_project_api_key (Resource)
-
-Use this resource to create Metal Project API Key resources in Equinix Metal. Project API keys can be used to create and read resources in a single project. Each API key contains a token which can be used for authentication in Equinix Metal HTTP API (in HTTP request header `X-Auth-Token`).
-
-Read-only keys only allow to list and view existing resources, read-write keys can also be used to create resources.
-
-## Example Usage
-
-{{tffile "examples/resources/metal_project_api_key/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `project_id` - (Required) UUID of the project where the API key is scoped to.
-* `description` - (Required) Description string for the Project API Key resource.
-* `read-only` - (Optional) Flag indicating whether the API key shoud be read-only.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `token` - API token which can be used in Equinix Metal API clients
diff --git a/templates/resources/metal_project_ssh_key.md.tmpl b/templates/resources/metal_project_ssh_key.md.tmpl
deleted file mode 100644
index cc30f1b5c..000000000
--- a/templates/resources/metal_project_ssh_key.md.tmpl
+++ /dev/null
@@ -1,34 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_project_ssh_key (Resource)
-
-Provides an Equinix Metal project SSH key resource to manage project-specific SSH keys. Project SSH keys will only be populated onto servers that belong to that project, in contrast to User SSH Keys.
-
-## Example Usage
-
-{{tffile "examples/resources/metal_project_ssh_key/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) The name of the SSH key for identification.
-* `public_key` - (Required) The public key. If this is a file, it can be read using the file interpolation function.
-* `project_id` - (Required) The ID of parent project.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the key.
-* `name` - The name of the SSH key.
-* `owner_id` - The ID of parent project (same as project_id).
-* `fingerprint` - The fingerprint of the SSH key.
-* `created` - The timestamp for when the SSH key was created.
-* `updated` - The timestamp for the last time the SSH key was updated.
diff --git a/templates/resources/metal_reserved_ip_block.md.tmpl b/templates/resources/metal_reserved_ip_block.md.tmpl
deleted file mode 100644
index 31e810f66..000000000
--- a/templates/resources/metal_reserved_ip_block.md.tmpl
+++ /dev/null
@@ -1,72 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_reserved_ip_block (Resource)
-
-Provides a resource to create and manage blocks of reserved IP addresses in a project.
-
-When a user provisions first device in a metro, Equinix Metal API automatically allocates IPv6/56 and private IPv4/25 blocks. The new device then gets IPv6 and private IPv4 addresses from those block. It also gets a public IPv4/31 address. Every new device in the project and metro will automatically get IPv6 and private IPv4 addresses from these pre-allocated blocks. The IPv6 and private IPv4 blocks can't be created, only imported. With this resource, it's possible to create either public IPv4 blocks or global IPv4 blocks.
-
-Public blocks are allocated in a metro. Addresses from public blocks can only be assigned to devices in the metro. Public blocks can have mask from /24 (256 addresses) to /32 (1 address). If you create public block with this resource, you must fill the metro argument.
-
-Addresses from global blocks can be assigned in any metro. Global blocks can have mask from /30 (4 addresses), to /32 (1 address). If you create global block with this resource, you must specify type = "global_ipv4" and you must omit the metro argument.
-
-Once IP block is allocated or imported, an address from it can be assigned to device with the `equinix_metal_ip_attachment` resource.
-
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-
-## Example Usage
-
-Allocate reserved IP blocks:
-
-{{tffile "examples/resources/metal_reserved_ip_block/example_1.tf"}}
-
-Allocate a block and run a device with public IPv4 from the block
-
-{{tffile "examples/resources/metal_reserved_ip_block/example_2.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `project_id` - (Required) The metal project ID where to allocate the address block.
-* `quantity` - (Optional) The number of allocated `/32` addresses, a power of 2. Required when `type` is not `vrf`.
-* `type` - (Optional) One of `global_ipv4`, `public_ipv4`, or `vrf`. Defaults to `public_ipv4` for backward compatibility.
-* `facility` - (**Deprecated**) Facility where to allocate the public IP address block, makes sense only if type is `public_ipv4` and must be empty if type is `global_ipv4`. Conflicts with `metro`. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `metro` - (Optional) Metro where to allocate the public IP address block, makes sense only if type is `public_ipv4` and must be empty if type is `global_ipv4`. Conflicts with `facility`.
-* `description` - (Optional) Arbitrary description.
-* `tags` - (Optional) String list of tags.
-* `vrf_id` - (Optional) Only valid and required when `type` is `vrf`. VRF ID for type=vrf reservations.
-* `wait_for_state` - (Optional) Wait for the IP reservation block to reach a desired state on resource creation. One of: `pending`, `created`. The `created` state is default and recommended if the addresses are needed within the configuration. An error will be returned if a timeout or the `denied` state is encountered.
-* `custom_data` - (Optional) Custom Data is an arbitrary object (submitted in Terraform as serialized JSON) to assign to the IP Reservation. This may be helpful for self-managed IPAM. The object must be valid JSON.
-* `network` - (Optional) Only valid as an argument and required when `type` is `vrf`. An unreserved network address from an existing `ip_range` in the specified VRF.
-* `cidr` - (Optional) Only valid as an argument and required when `type` is `vrf`. The size of the network to reserve from an existing VRF ip_range. `cidr` can only be specified with `vrf_id`. Range is 22-31. Virtual Circuits require 30-31. Other VRF resources must use a CIDR in the 22-29 range.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the block.
-* `cidr_notation` - Address and mask in CIDR notation, e.g. `147.229.15.30/31`.
-* `network` - Network IP address portion of the block specification.
-* `netmask` - Mask in decimal notation, e.g. `255.255.255.0`.
-* `cidr` - length of CIDR prefix of the block as integer.
-* `address_family` - Address family as integer. One of `4` or `6`.
-* `public` - Boolean flag whether addresses from a block are public.
-* `global` - Boolean flag whether addresses from a block are global (i.e. can be assigned in any metro).
-* `vrf_id` - VRF ID of the block when type=vrf
-
--> **NOTE:** Idempotent reference to a first `/32` address from a reserved block might look like `join("/", [cidrhost(metal_reserved_ip_block.myblock.cidr_notation,0), "32"])`.
-
-## Import
-
-This resource can be imported using an existing IP reservation ID:
-
-```sh
-terraform import equinix_metal_reserved_ip_block {existing_ip_reservation_id}
-```
diff --git a/templates/resources/metal_spot_market_request.md.tmpl b/templates/resources/metal_spot_market_request.md.tmpl
deleted file mode 100644
index ee7916b3a..000000000
--- a/templates/resources/metal_spot_market_request.md.tmpl
+++ /dev/null
@@ -1,50 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_spot_market_request (Resource)
-
-Provides an Equinix Metal Spot Market Request resource to allow you to manage spot market requests on your account. For more detail on Spot Market, see [this article in Equinix Metal documentation](https://metal.equinix.com/developers/docs/deploy/spot-market/).
-
-## Example Usage
-
-{{tffile "examples/resources/metal_spot_market_request/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `devices_max` - (Required) Maximum number devices to be created.
-* `devices_min` - (Required) Miniumum number devices to be created.
-* `max_bid_price` - (Required) Maximum price user is willing to pay per hour per device.
-* `project_id` - (Required) Project ID.
-* `wait_for_devices` - (Optional) On resource creation wait until all desired devices are active. On resource destruction wait until devices are removed.
-* `facilities` - (**Deprecated**) Facility IDs where devices should be created. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `metro` - (Optional) Metro where devices should be created.
-* `locked` - (Optional) Blocks deletion of the SpotMarketRequest device until the lock is disabled.
-* `instance_parameters` - (Required) Key/Value pairs of parameters for devices provisioned from this request. Valid keys are: `billing_cycle`, `plan`, `operating_system`, `hostname`, `termination_time`, `always_pxe`, `description`, `features`, `locked`, `project_ssh_keys`, `user_ssh_keys`, `userdata`, `customdata`, `ipxe_script_url`, `tags`. You can find each parameter description in [equinix_metal_device](equinix_metal_device.md) docs.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The ID of the Spot Market Request.
-
-### Timeouts
-
-The `timeouts` block allows you to specify [timeouts](https://www.terraform.io/configuration/resources#operation-timeouts) for certain actions:
-
-* `create` - (Defaults to 60 mins) Used when creating the Spot Market Request and `wait_for_devices` is set to `true`.
-* `delete` - (Defaults to 60 mins) Used when destroying the Spot Market Request and `wait_for_devices` is set to `true`.
-
-## Import
-
-This resource can be imported using an existing spot market request ID:
-
-```sh
-terraform import equinix_metal_spot_market_request {existing_spot_market_request_id}
-```
diff --git a/templates/resources/metal_ssh_key.md.tmpl b/templates/resources/metal_ssh_key.md.tmpl
deleted file mode 100644
index 34316e567..000000000
--- a/templates/resources/metal_ssh_key.md.tmpl
+++ /dev/null
@@ -1,44 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_ssh_key (Resource)
-
-Provides a resource to manage User SSH keys on your Equinix Metal user account. If you create a new device in a project, all the keys of the project's collaborators will be injected to the device.
-
-The link between User SSH key and device is implicit. If you want to make sure that a key will be copied to a device, you must ensure that the device resource `depends_on` the key resource.
-
-## Example Usage
-
-{{tffile "examples/resources/metal_ssh_key/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) The name of the SSH key for identification
-* `public_key` - (Required) The public key. If this is a file, it can be read using the file interpolation function
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - The unique ID of the key.
-* `name` - The name of the SSH key.
-* `public_key` - The text of the public key.
-* `fingerprint` - The fingerprint of the SSH key.
-* `owner_id` - The UUID of the Equinix Metal API User who owns this key.
-* `created` - The timestamp for when the SSH key was created.
-* `updated` - The timestamp for the last time the SSH key was updated.
-
-## Import
-
-This resource can be imported using an existing SSH Key ID:
-
-```sh
-terraform import equinix_metal_ssh_key {existing_sshkey_id}
-```
diff --git a/templates/resources/metal_user_api_key.md.tmpl b/templates/resources/metal_user_api_key.md.tmpl
deleted file mode 100644
index 7eea36218..000000000
--- a/templates/resources/metal_user_api_key.md.tmpl
+++ /dev/null
@@ -1,31 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_user_api_key (Resource)
-
-Use this resource to create Metal User API Key resources in Equinix Metal. Each API key contains a token which can be used for authentication in Equinix Metal HTTP API (in HTTP request header `X-Auth-Token`).
-
-Read-only keys only allow to list and view existing resources, read-write keys can also be used to create resources.
-
-## Example Usage
-
-{{tffile "examples/resources/metal_user_api_key/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `description` - (Required) Description string for the User API Key resource.
-* `read-only` - (Required) Flag indicating whether the API key shoud be read-only.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `user_id` - UUID of the owner of the API key.
-* `token` - API token which can be used in Equinix Metal API clients.
diff --git a/templates/resources/metal_virtual_circuit.md.tmpl b/templates/resources/metal_virtual_circuit.md.tmpl
deleted file mode 100644
index 086ac3b97..000000000
--- a/templates/resources/metal_virtual_circuit.md.tmpl
+++ /dev/null
@@ -1,57 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_virtual_circuit (Resource)
-
-Use this resource to associate VLAN with a Dedicated Port from [Equinix Fabric - software-defined interconnections](https://metal.equinix.com/developers/docs/networking/fabric/#associating-a-vlan-with-a-dedicated-port).
-
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-
-## Example Usage
-
-Pick an existing Project and dedicated Connection, create a VLAN and use `equinix_metal_virtual_circuit` to associate it with a Primary Port of the Connection.
-
-{{tffile "examples/resources/metal_virtual_circuit/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `connection_id` - (Required) UUID of Connection where the VC is scoped to.
-* `project_id` - (Required) UUID of the Project where the VC is scoped to.
-* `port_id` - (Required) UUID of the Connection Port where the VC is scoped to.
-* `nni_vlan` - (Required) Equinix Metal network-to-network VLAN ID.
-* `vlan_id` - (Required) UUID of the VLAN to associate.
-* `name` - (Optional) Name of the Virtual Circuit resource.
-* `description` - (Optional) Description for the Virtual Circuit resource.
-* `tags` - (Optional) Tags for the Virtual Circuit resource.
-* `speed` - (Optional) Speed of the Virtual Circuit resource.
-* `vrf_id` - (Optional) UUID of the VRF to associate.
-* `peer_asn` - (Optional, required with `vrf_id`) The BGP ASN of the peer. The same ASN may be the used across several VCs, but it cannot be the same as the local_asn of the VRF.
-* `subnet` - (Optional, required with `vrf_id`) A subnet from one of the IP blocks associated with the VRF that we will help create an IP reservation for. Can only be either a /30 or /31.
- * For a /31 block, it will only have two IP addresses, which will be used for the metal_ip and customer_ip.
- * For a /30 block, it will have four IP addresses, but the first and last IP addresses are not usable. We will default to the first usable IP address for the metal_ip.
-* `metal_ip` - (Optional, required with `vrf_id`) The Metal IP address for the SVI (Switch Virtual Interface) of the VirtualCircuit. Will default to the first usable IP in the subnet.
-* `customer_ip` - (Optional, required with `vrf_id`) The Customer IP address which the CSR switch will peer with. Will default to the other usable IP in the subnet.
-* `md5` - (Optional, only valid with `vrf_id`) The password that can be set for the VRF BGP peer
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `status` - Status of the virtal circuit.
-* `vnid` - VNID VLAN parameter, see the [documentation for Equinix Fabric](https://metal.equinix.com/developers/docs/networking/fabric/).
-* `nni_vnid` - NNI VLAN parameters, see the [documentation for Equinix Fabric](https://metal.equinix.com/developers/docs/networking/fabric/).
-
-## Import
-
-This resource can be imported using an existing Virtual Circuit ID:
-
-```sh
-terraform import equinix_metal_virtual_circuit {existing_id}
-```
diff --git a/templates/resources/metal_vlan.md.tmpl b/templates/resources/metal_vlan.md.tmpl
deleted file mode 100644
index 288a04bdb..000000000
--- a/templates/resources/metal_vlan.md.tmpl
+++ /dev/null
@@ -1,44 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_vlan (Resource)
-
-Provides a resource to allow users to manage Virtual Networks in their projects.
-
-To learn more about Layer 2 networking in Equinix Metal, refer to
-
-* https://metal.equinix.com/developers/docs/networking/layer2/
-* https://metal.equinix.com/developers/docs/networking/layer2-configs/
-
-## Example Usage
-
-{{tffile "examples/resources/metal_vlan/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `project_id` - (Required) ID of parent project.
-* `metro` - (Optional) Metro in which to create the VLAN
-* `facility` - (**Deprecated**) Facility where to create the VLAN. Use metro instead; read the [facility to metro migration guide](https://registry.terraform.io/providers/equinix/equinix/latest/docs/guides/migration_guide_facilities_to_metros_devices)
-* `description` - (Optional) Description string.
-* `vxlan` - (Optional) VLAN ID, must be unique in metro.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `id` - ID of the virtual network.
-
-## Import
-
-This resource can be imported using an existing VLAN ID (UUID):
-
-```sh
-terraform import equinix_metal_vlan {existing_vlan_id}
-```
diff --git a/templates/resources/metal_vrf.md.tmpl b/templates/resources/metal_vrf.md.tmpl
deleted file mode 100644
index 4d7e4732a..000000000
--- a/templates/resources/metal_vrf.md.tmpl
+++ /dev/null
@@ -1,50 +0,0 @@
----
-subcategory: "Metal"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_metal_vrf (Resource)
-
-Use this resource to manage a VRF.
-
-See the [Virtual Routing and Forwarding documentation](https://deploy.equinix.com/developers/docs/metal/layer2-networking/vrf/) for product details and API reference material.
-
-## Example Usage
-
-Create a VRF in your desired metro and project with any IP ranges that you want the VRF to route and forward.
-
-{{tffile "examples/resources/metal_vrf/example_1.tf"}}
-
-Create IP reservations and assign them to a Metal Gateway resources. The Gateway will be assigned the first address in the block.
-
-{{tffile "examples/resources/metal_vrf/example_2.tf"}}
-
-Attach a Virtual Circuit from a Dedicated Metal Connection to the Metal Gateway.
-
-{{tffile "examples/resources/metal_vrf/example_3.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) User-supplied name of the VRF, unique to the project
-* `metro` - (Required) Metro ID or Code where the VRF will be deployed.
-* `project_id` - (Required) Project ID where the VRF will be deployed.
-* `description` - (Optional) Description of the VRF.
-* `local_asn` - (Optional) The 4-byte ASN set on the VRF.
-* `ip_ranges` - (Optional) All IPv4 and IPv6 Ranges that will be available to BGP Peers. IPv4 addresses must be /8 or smaller with a minimum size of /29. IPv6 must be /56 or smaller with a minimum size of /64. Ranges must not overlap other ranges within the VRF.
-
-## Attributes Reference
-
-No additional attributes are exported.
-
-## Import
-
-This resource can be imported using an existing VRF ID:
-
-```sh
-terraform import equinix_metal_vrf {existing_id}
-```
diff --git a/templates/resources/network_acl_template.md.tmpl b/templates/resources/network_acl_template.md.tmpl
deleted file mode 100644
index d5e263a5e..000000000
--- a/templates/resources/network_acl_template.md.tmpl
+++ /dev/null
@@ -1,59 +0,0 @@
----
-subcategory: "Network Edge"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_network_acl_template (Resource)
-
-Resource `equinix_network_acl_template` allows creation and management of Equinix Network Edge device Access Control List templates.
-
-Device ACL templates give possibility to define set of rules will allowed inbound traffic. Templates can be assigned to the network devices.
-
-## Example Usage
-
-{{tffile "examples/resources/network_acl_template/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) ACL template name.
-* `project_id` - (Optional) Unique Identifier for the project resource where the acl template is scoped to.If you leave it out, the ACL template will be created under the default project id of your organization.
-* `description` - (Optional) ACL template description, up to 200 characters.
-* `metro_code` - (Deprecated) ACL template location metro code.
-* `inbound_rule` - (Required) One or more rules to specify allowed inbound traffic. Rules are ordered, matching traffic rule stops processing subsequent ones.
-
-The `inbound_rule` block has below fields:
-
-* `subnets` - (Deprecated) Inbound traffic source IP subnets in CIDR format.
-* `subnet` - (Required) Inbound traffic source IP subnet in CIDR format.
-* `protocol` - (Required) Inbound traffic protocol. One of `IP`, `TCP`, `UDP`.
-* `src_port` - (Required) Inbound traffic source ports. Allowed values are a comma separated list of ports, e.g., `20,22,23`, port range, e.g., `1023-1040` or word `any`.
-* `dst_port` - (Required) Inbound traffic destination ports. Allowed values are a comma separated list of ports, e.g., `20,22,23`, port range, e.g., `1023-1040` or word `any`.
-* `description` - (Optional) Inbound rule description, up to 200 characters.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Unique identifier of ACL template resource.
-* `device_id` - (Deprecated) Identifier of a network device where template was applied.
-* `device_acl_status` - Status of ACL template provisioning process, where template was applied. One of `PROVISIONING`, `PROVISIONED`.
-* `device_details` - List of the devices where the ACL template is applied.
-
-The `device_details` block has below fields:
-
-* `uuid` - Device uuid.
-* `name` - Device name.
-* `acl_status` - Device ACL provisioning status where template was applied. One of `PROVISIONING`, `PROVISIONED`.
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_network_acl_template.example {existing_id}
-```
diff --git a/templates/resources/network_bgp.md.tmpl b/templates/resources/network_bgp.md.tmpl
deleted file mode 100644
index 2442c3c72..000000000
--- a/templates/resources/network_bgp.md.tmpl
+++ /dev/null
@@ -1,43 +0,0 @@
----
-subcategory: "Network Edge"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_network_bgp (Resource)
-
-Resource `equinix_network_bgp` allows creation and management of Equinix Network Edge BGP peering configurations.
-
-## Example Usage
-
-{{tffile "examples/resources/network_bgp/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `connection_id` - (Required) identifier of a connection established between. network device and remote service provider that will be used for peering.
-* `local_ip_address` - (Required) IP address in CIDR format of a local device.
-* `local_asn` - (Required) Local ASN number.
-* `remote_ip_address` - (Required) IP address of remote peer.
-* `remote_asn` - (Required) Remote ASN number.
-* `authentication_key` - (Optional) shared key used for BGP peer authentication.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - BGP peering configuration unique identifier.
-* `device_id` - unique identifier of a network device that is a local peer in a given BGP peering configuration.
-* `state` - BGP peer state, one of `Idle`, `Connect`, `Active`, `OpenSent`, `OpenConfirm`, `Established`.
-* `provisioning_status` - BGP peering configuration provisioning status, one of `PROVISIONING`, `PENDING_UPDATE`, `PROVISIONED`, `FAILED`.
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_network_bgp.example {existing_id}
-```
diff --git a/templates/resources/network_device.md.tmpl b/templates/resources/network_device.md.tmpl
deleted file mode 100644
index dbbe0980c..000000000
--- a/templates/resources/network_device.md.tmpl
+++ /dev/null
@@ -1,182 +0,0 @@
----
-subcategory: "Network Edge"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_network_device (Resource)
-
-Resource `equinix_network_device` allows creation and management of Equinix Network Edge virtual network devices.
-
-Network Edge virtual network devices can be created in two modes:
-
-* **managed** - (default) Where Equinix manages connectivity and services in the device and customer gets limited access to the device.
-* **self-configured** - Where customer provisions and manages own services in the device with less restricted access. Some device types are offered only in this mode.
-
-In addition to management modes, there are two software license modes available:
-
-* **subscription** - Where Equinix provides software license, including end-to-end support, and bills for the service respectively.
-* **BYOL** - [bring your own license] Where customer brings his own, already procured device software license. There are no charges associated with such license. It is the only licensing mode for `self-configured` devices.
-
-## Example Usage
-
-{{tffile "examples/resources/network_device/example_1.tf"}}
-
-{{tffile "examples/resources/network_device/example_2.tf"}}
-
-{{tffile "examples/resources/network_device/example_3.tf"}}
-
-{{tffile "examples/resources/network_device/example_4.tf"}}
-
-{{tffile "examples/resources/network_device/example_5.tf"}}
-
-{{tffile "examples/resources/network_device/example_6.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) Device name.
-* `type_code` - (Required) Device type code.
-* `metro_code` - (Required) Device location metro code.
-* `hostname` - (Optional) Device hostname prefix.
-* `package_code` - (Required) Device software package code.
-* `version` - (Required) Device software software version.
-* `core_count` - (Required) Number of CPU cores used by device. (**NOTE: Use this field to resize your device. When resizing your HA devices, primary device will be upgraded first. If the upgrade failed, device will be automatically rolled back to the previous state with original core number.**)
-* `term_length` - (Required) Device term length.
-* `self_managed` - (Optional) Boolean value that determines device management mode, i.e., `self-managed` or `Equinix-managed` (default).
-* `byol` - (Optional) Boolean value that determines device licensing mode, i.e., `bring your own license` or `subscription` (default).
-* `license_token` - (Optional, conflicts with `license_file`) License Token applicable for some device types in BYOL licensing mode.
-* `license_file` - (Optional) Path to the license file that will be uploaded and applied on a device. Applicable for some device types in BYOL licensing mode.
-* `license_file_id` - (Optional, conflicts with `license_file`) Identifier of a license file that will be applied on the device.
-* `cloud_init_file_id` - (Optional) Identifier of a cloud init file that will be applied on the device.
-* `throughput` - (Optional) Device license throughput.
-* `throughput_unit` - (Optional) License throughput unit. One of `Mbps` or `Gbps`.
-* `account_number` - (Required) Billing account number for a device.
-* `notifications` - (Required) List of email addresses that will receive device status notifications.
-* `purchase_order_number` - (Optional) Purchase order number associated with a device order.
-* `order_reference` - (Optional) Name/number used to identify device order on the invoice.
-* `acl_template_id` - (Optional) Identifier of a WAN interface ACL template that will be applied on the device.
-* `mgmt_acl_template_uuid` - (Optional) Identifier of an MGMT interface ACL template that will be applied on the device.
-* `additional_bandwidth` - (Optional) Additional Internet bandwidth, in Mbps, that will be allocated to the device (in addition to default 15Mbps).
-* `interface_count` - (Optional) Number of network interfaces on a device. If not specified, default number for a given device type will be used.
-* `wan_interafce_id` - (Optional) Specify the WAN/SSH interface id. If not specified, default WAN/SSH interface for a given device type will be used.
-* `vendor_configuration` - (Optional) Map of vendor specific configuration parameters for a device (controller1, activationKey, managementType, siteId, systemIpAddress)
-* `ssh-key` - (Optional) Definition of SSH key that will be provisioned on a device (max one key). See [SSH Key](#ssh-key) below for more details.
-* `secondary_device` - (Optional) Definition of secondary device for redundant device configurations. See [Secondary Device](#secondary-device) below for more details.
-* `cluster_details` - (Optional) An object that has the cluster details. See [Cluster Details](#cluster-details) below for more details.
-* `connectivity` - (Optional) Device accessibility (INTERNET-ACCESS or PRIVATE or INTERNET-ACCESS-WITH-PRVT-MGMT). If not specified, default will be INTERNET-ACCESS
-* `project_id` - (Optional) Unique Identifier for the project resource where the device is scoped to.If you leave it out, the device will be created under the default project id of your organization.
-* `diverse_device_id` - (Optional) Unique ID of an existing device. Use this field to let Equinix know if you want your new device to be in a different location from any existing virtual device. This field is only meaningful for single devices.
-
-### Secondary Device
-
--> **NOTE:** Network Edge provides different High Availability (HA) options. By defining a `secondary_device` block, terraform will deploy [Redundant Devices](https://docs.equinix.com/en-us/Content/Interconnection/NE/deploy-guide/Reference%20Architecture/NE-High-Availability-Options.htm#:~:text=Redundant%20Devices%20(Active/Active)), useful for customers that require two actively forwarding data planes (Active/Active) on separate hardware stacks. See [Architecting for Resiliency](https://docs.equinix.com/en-us/Content/Interconnection/NE/deploy-guide/NE-architecting-resiliency.htm) documentation to know more about the fault-tolerant solutions that you can achieve.
-
-The `secondary_device` block supports the following arguments:
-
-* `name` - (Required) Secondary device name.
-* `metro_code` - (Required) Metro location of a secondary device.
-* `hostname` - (Optional) Secondary device hostname.
-* `license_token` - (Optional, conflicts with `license_file`) License Token can be provided for some device types o the device.
-* `license_file` - (Optional) Path to the license file that will be uploaded and applied on a secondary device. Applicable for some device types in BYOL licensing mode.
-* `license_file_id` - (Optional, conflicts with `license_file`) Identifier of a license file that will be applied on a secondary device.
-* `cloud_init_file_id` - (Optional) Identifier of a cloud init file that will be applied on a secondary device.
-* `account_number` - (Required) Billing account number for secondary device.
-* `notifications` - (Required) List of email addresses that will receive notifications about secondary device.
-* `additional_bandwidth` - (Optional) Additional Internet bandwidth, in Mbps, for a secondary device.
-* `vendor_configuration` - (Optional) Key/Value pairs of vendor specific configuration parameters for a secondary device. Key values are `controller1`, `activationKey`, `managementType`, `siteId`, `systemIpAddress`.
-* `acl_template_id` - (Optional) Identifier of a WAN interface ACL template that will be applied on a secondary device.
-* `mgmt_acl_template_uuid` - (Optional) Identifier of an MGMT interface ACL template that will be applied on a secondary device.
-* `ssh-key` - (Optional) Up to one definition of SSH key that will be provisioned on a secondary device.
-
-### SSH Key
-
-The `ssh_key` block supports the following arguments:
-
-* `username` - (Required) username associated with given key.
-* `name` - (Required) reference by name to previously provisioned public SSH key.
-
-### Cluster Details
-
--> **NOTE:** Network Edge provides different High Availability (HA) options. By defining a `cluster_details` block, terraform will deploy a `Device Clustering`. This option, based on vendor-specific features, allows customers to deploy more advanced resilient configurations than `secondary_device`. See [Network Edge HA Options](https://docs.equinix.com/en-us/Content/Interconnection/NE/deploy-guide/Reference%20Architecture/NE-High-Availability-Options.htm) documentation to know which vendors support clustered devices. See [Architecting for Resiliency](https://docs.equinix.com/en-us/Content/Interconnection/NE/deploy-guide/NE-architecting-resiliency.htm) documentation to know more about the fault-tolerant solutions that you can achieve.
-
-The `cluster_details` block supports the following arguments:
-
-* `cluster_name` - (Required) The name of the cluster device
-* `node0` - (Required) An object that has `node0` configuration. See [Cluster Details - Nodes](#cluster-details---nodes) below for more details.
-* `node1` - (Required) An object that has `node1` configuration. See [Cluster Details - Nodes](#cluster-details---nodes) below for more details.
-
-### Cluster Details - Nodes
-
-The `node0` and `node1` blocks supports the following arguments:
-
-* `vendor_configuration` - (Optional) An object that has fields relevant to the vendor of the cluster device. See [Cluster Details - Nodes - Vendor Configuration](#cluster-details---nodes---vendor-configuration) below for more details.
-* `license_file_id` - (Optional) License file id. This is necessary for Fortinet and Juniper clusters.
-* `license_token` - (Optional) License token. This is necessary for Palo Alto clusters.
-
-### Cluster Details - Nodes - Vendor Configuration
-
-The `vendor_configuration` block supports the following arguments:
-
-* `hostname` - (Optional) Hostname. This is necessary for Palo Alto, Juniper, and Fortinet clusters.
-* `admin_password` - (Optional) The administrative password of the device. You can use it to log in to the console. This field is not available for all device types.
-* `controller1` - (Optional) System IP Address. Mandatory for the Fortinet SDWAN cluster device.
-* `activation_key` - (Optional) Activation key. This is required for Velocloud clusters.
-* `controller_fqdn` - (Optional) Controller fqdn. This is required for Velocloud clusters.
-* `root_password` - (Optional) The CLI password of the device. This field is relevant only for the Velocloud SDWAN cluster.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Device unique identifier.
-* `status` - Device provisioning status. Possible values are `INITIALIZING`, `PROVISIONING`, `WAITING_FOR_PRIMARY`, `WAITING_FOR_SECONDARY`, `WAITING_FOR_REPLICA_CLUSTER_NODES`, `CLUSTER_SETUP_IN_PROGRESS`, `FAILED`, `PROVISIONED`, `DEPROVISIONING`, `DEPROVISIONED`, `RESOURCE_UPGRADE_IN_PROGRESS`, `RESOURCE_UPGRADE_FAILED`.
-* `license_status` - Device license registration status. Possible values are `APPLYING_LICENSE`, `REGISTERED`, `APPLIED`, `WAITING_FOR_CLUSTER_SETUP`, `REGISTRATION_FAILED`.
-* `license_file_id` - Unique identifier of applied license file.
-* `ibx` - Device location Equinix Business Exchange name.
-* `region` - Device location region.
-* `acl_template_id` - Unique identifier of applied ACL template.
-* `ssh_ip_address` - IP address of SSH enabled interface on the device.
-* `ssh_ip_fqdn` - FQDN of SSH enabled interface on the device.
-* `redundancy_type` - Device redundancy type applicable for HA devices, either primary or secondary.
-* `redundant_id` - Unique identifier for a redundant device applicable for HA devices.
-* `interface` - List of device interfaces. See [Interface Attribute](#interface-attribute) below for more details.
-* `asn` - (Autonomous System Number) Unique identifier for a network on the internet.
-* `zone_code` - Device location zone code.
-* `cluster_id` - The ID of the cluster.
-* `num_of_nodes` - The number of nodes in the cluster.
-* `diverse_device_name` - Name of the device with diverse device UUID. This field is returned in device details if the device is created by passing diverse_device_id.
-
-### Interface Attribute
-
-Each interface attribute has below fields:
-
-* `id` - interface identifier.
-* `name` - interface name.
-* `status` - interface status. One of `AVAILABLE`, `RESERVED`, `ASSIGNED`.
-* `operational_status` - interface operational status. One of `up`, `down`.
-* `mac_address` - interface MAC address.
-* `ip_address` - interface IP address.
-* `assigned_type` - interface management type (Equinix Managed or empty).
-* `type` - interface type.
-
-## Timeouts
-
-This resource provides the following [Timeouts configuration](https://www.terraform.io/language/resources/syntax#operation-timeouts) options:
-
-* create - Default is 90 minutes
-* update - Default is 90 minutes
-* delete - Default is 30 minutes
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_network_device.example {existing_id}
-```
-
-The `license_token`, `mgmt_acl_template_uuid` and `cloud_init_file_id` fields can not be imported.
diff --git a/templates/resources/network_device_link.md.tmpl b/templates/resources/network_device_link.md.tmpl
deleted file mode 100644
index 413d5bf66..000000000
--- a/templates/resources/network_device_link.md.tmpl
+++ /dev/null
@@ -1,73 +0,0 @@
----
-subcategory: "Network Edge"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_network_device_link (Resource)
-
-Resource `equinix_network_device_link` allows creation and management of Equinix Network Edge virtual network device links.
-
-## Example Usage
-
-{{tffile "examples/resources/network_device_link/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) device link name.
-* `subnet` - (Optional) device link subnet in CIDR format. Not required for link between self configured devices.
-* `device` - (Required) definition of one or more devices belonging to the device link. See [Device](#device) section below for more details.
-* `link` - (Optional) definition of one or more, inter metro, connections belonging to the device link. See [Link](#link) section below for more details.
-* `project_id` - (Optional) Unique Identifier for the project resource where the device link is scoped to.If you leave it out, the device link will be created under the default project id of your organization.
-
-### Device
-
-The `device` block supports the following arguments:
-
-* `id` - (Required) Device identifier.
-* `asn` - (Optional) Device ASN number. Not required for self configured devices.
-* `interface_id` - (Optional) Device network interface identifier to use for device link connection.
-
-### Link
-
-The `link` block supports the following arguments:
-
-* `account_number` - (Required) billing account number to be used for connection charges
-* `throughput` - (Required) connection throughput.
-* `throughput_unit` - (Required) connection throughput unit (Mbps or Gbps).
-* `src_metro_code` - (Required) connection source metro code.
-* `dst_metro_code` - (Required) connection destination metro code.
-* `src_zone_code` - (Deprecated) connection source zone code is not required.
-* `dst_zone_code` - (Deprecated) connection destination zone code is not required.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Device link unique identifier.
-* `status` - Device link provisioning status. One of `PROVISIONING`, `PROVISIONED`, `DEPROVISIONING`, `DEPROVISIONED`, `FAILED`.
-
-The `device` block attributes:
-
-* `ip_address` - IP address from device link subnet that was assigned to the device
-* `status` - device link provisioning status on a given device. One of `PROVISIONING`, `PROVISIONED`, `DEPROVISIONING`, `DEPROVISIONED`, `FAILED`.
-
-## Timeouts
-
-This resource provides the following [Timeouts configuration](https://www.terraform.io/language/resources/syntax#operation-timeouts) options:
-
-* create - Default is 10 minutes
-* update - Default is 10 minutes
-* delete - Default is 10 minutes
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_network_device_link.example {existing_id}
-```
diff --git a/templates/resources/network_file.md.tmpl b/templates/resources/network_file.md.tmpl
deleted file mode 100644
index 911c1fe22..000000000
--- a/templates/resources/network_file.md.tmpl
+++ /dev/null
@@ -1,44 +0,0 @@
----
-subcategory: "Network Edge"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_network_file (Resource)
-
-Resource `equinix_network_file` allows creation and management of Equinix Network Edge files.
-
-## Example Usage
-
-{{tffile "examples/resources/network_file/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `file_name` - (Required) File name.
-* `content` - (Required) Uploaded file content, expected to be a UTF-8 encoded string.
-* `metro_code` - (Required) File upload location metro code. It should match the device location metro code.
-* `type_code` - (Required) Device type code.
-* `process_type` - (Required) File process type (LICENSE or CLOUD_INIT).
-* `self_managed` - (Required) Boolean value that determines device management mode, i.e., `self-managed` or `Equinix-managed`.
-* `byol` - (Required) Boolean value that determines device licensing mode, i.e., `bring your own license` or `subscription`.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - Unique identifier of file resource.
-* `status` - File upload status.
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_network_file.example {existing_id}
-```
-
-The `content`, `self_managed` and `byol` fields can not be imported.
diff --git a/templates/resources/network_ssh_key.md.tmpl b/templates/resources/network_ssh_key.md.tmpl
deleted file mode 100644
index 35419aca5..000000000
--- a/templates/resources/network_ssh_key.md.tmpl
+++ /dev/null
@@ -1,38 +0,0 @@
----
-subcategory: "Network Edge"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_network_ssh_key (Resource)
-
-Resource `equinix_network_ssh_key` allows creation and management of Equinix Network Edge SSH keys.
-
-## Example Usage
-
-{{tffile "examples/resources/network_ssh_key/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `name` - (Required) The name of SSH key used for identification.
-* `public_key` - (Required) The SSH public key. If this is a file, it can be read using the file interpolation function.
-* `type` - (Optional) The type of SSH key: `RSA` (default) or `DSA`.
-* `project_id` - (Optional) Unique Identifier for the project resource where the SSH key is scoped to.If you leave it out, the ssh key will be created under the default project id of your organization.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - The unique identifier of the key
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_network_ssh_key.example {existing_id}
-```
diff --git a/templates/resources/network_ssh_user.md.tmpl b/templates/resources/network_ssh_user.md.tmpl
deleted file mode 100644
index a71e5a7c7..000000000
--- a/templates/resources/network_ssh_user.md.tmpl
+++ /dev/null
@@ -1,37 +0,0 @@
----
-subcategory: "Network Edge"
----
-
-{{/* This template serves as a starting point for documentation generation, and can be customized with hardcoded values and/or doc gen templates.
-
-For example, the {{ .SchemaMarkdown }} template can be used to replace manual schema documentation if descriptions of schema attributes are added in the provider source code. */ -}}
-
-# equinix_network_ssh_user (Resource)
-
-Resource `equinix_network_ssh_user` allows creation and management of Equinix Network Edge SSH users.
-
-## Example Usage
-
-{{tffile "examples/resources/network_ssh_user/example_1.tf"}}
-
-## Argument Reference
-
-The following arguments are supported:
-
-* `username` - (Required) SSH user login name.
-* `password` - (Required) SSH user password.
-* `device_ids` - (Required) list of device identifiers to which user will have access.
-
-## Attributes Reference
-
-In addition to all arguments above, the following attributes are exported:
-
-* `uuid` - SSH user unique identifier.
-
-## Import
-
-This resource can be imported using an existing ID:
-
-```sh
-terraform import equinix_network_ssh_user.example {existing_id}
-```