Skip to main content

equinix_fabric_port (Resource)

Fabric V4 API compatible resource allows creation and management of Equinix Fabric Ports

Additional Documentation:

~> ** NOTE:** This resource is in beta and is subject to change. Please use with caution. Experimental resource may contain bugs and is not recommended for production use.

  • There are no guarantees that a Port Reservation will occur after creating a port order through Terraform
  • If a Port Reservation does not occur then the Port Order is not complete and the Terraform resource will not be able to be used as a dependency
  • Port Deletions are not a short process and can take 2-5 business days to complete
  • Please be advised that a re-run of the Terraform resource with the same settings may not result in an available Port for Reservation even if the previous one was Completed

Example Usage

resource "equinix_fabric_port" "order" {
type = "XF_PORT"
connectivity_source_type = "COLO"
location = {
metro_code = "TR"
}
settings = {
package_type = "STANDARD"
shared_port_type = false
}
encapsulation = {
type = "DOT1Q"
tag_protocol_id = "0x8100"
}
account = {
account_number = "<account_number>"
}
project = {
project_id = "<project_id>"
}
redundancy = {
priority = "PRIMARY"
}
lag_enabled = true
physical_ports = [
{
type = "XF_PHYSICAL_PORT"
demarcation_point = {
ibx = "TR2"
cage_unique_space_id = "TR2:01:002087"
cabinet_unique_space_id = "Demarc"
patch_panel = "PP:Demarc:00002087"
connector_type = "SC"
}
}
]
physical_ports_speed = 1000
physical_ports_type = "1000BASE_LX"
physical_ports_count = 1
demarcation_point_ibx = "TR2"
notifications = [
{
type = "TECHNICAL"
registered_users = [
"<username>"
]
},
{
type = "NOTIFICATION"
registered_users = [
"<username>"
]
}
]
additional_info = [
{
key = "lagType"
value = "New"
}
]
}

Schema

Required

  • account (Attributes) Port order account details (see below for nested schema)
  • connectivity_source_type (String) Connection type that is used from the port after creation
  • demarcation_point_ibx (String) IBX code where the port will be located
  • encapsulation (Attributes) Port encapsulation settings (see below for nested schema)
  • lag_enabled (Boolean) Boolean value to enable the created port with Link Aggregation Groups
  • location (Attributes) Location details for the port order (see below for nested schema)
  • notifications (Attributes List) List of notification types and the registered users to receive those notification types (see below for nested schema)
  • physical_ports (Attributes List) Physical ports that will implement this port order (see below for nested schema)
  • physical_ports_count (Number) Number of physical ports in the Port Order
  • physical_ports_speed (Number) Physical Ports Speed in Mbps
  • physical_ports_type (String) Physical Ports Type
  • project (Attributes) Port order project details (see below for nested schema)
  • redundancy (Attributes) Port redundancy settings (see below for nested schema)
  • settings (Attributes) Port order configuration settings (see below for nested schema)
  • type (String) Type of the port order request

Optional

Read-Only

  • change_log (Attributes) Details of the last change on the port resource (see below for nested schema)
  • href (String) Equinix assigned URI of the port resource
  • id (String) The unique identifier of the resource
  • state (String) Value representing provisioning status for the port resource
  • uuid (String) Equinix assigned unique identifier of the port resource

Nested Schema for account

Required:

  • account_number (Number) Account number the port will be created for

Read-Only:

  • account_name (String) Legal name of the accountholder.
  • ucm_id (String) Enterprise datastore id

Nested Schema for encapsulation

Required:

  • tag_protocol_id (String) Port encapsulation tag protocol identifier
  • type (String) Port encapsulation protocol type

Nested Schema for location

Required:

  • metro_code (String) Metro code the port will be created in

Nested Schema for notifications

Required:

  • registered_users (List of String) Array of registered users that will receive this notification type on the port
  • type (String) Notification Type

Nested Schema for physical_ports

Required:

  • demarcation_point (Attributes) Customer physical port (see below for nested schema)
  • type (String) Physical Port type

Optional:

Nested Schema for physical_ports.demarcation_point

Required:

  • cabinet_unique_space_id (String) Port cabinet unique space id
  • cage_unique_space_id (String) Port cage unique space id
  • connector_type (String) Port connector type
  • ibx (String) IBX Metro code for the physical port
  • patch_panel (String) Port patch panel

Nested Schema for physical_ports.interface

Optional:

  • type (String) Interface type for the physical port

Nested Schema for project

Required:

  • project_id (String) Project id the port will be created in

Nested Schema for redundancy

Required:

  • priority (String) Port redundancy priority value

Nested Schema for settings

Required:

  • package_type (String) Billing package for the port being ordered
  • shared_port_type (Boolean) Indicates whether this is a dedicated customer cage or a shared neutral cage

Nested Schema for additional_info

Required:

  • key (String) The key name of the key/value pair
  • value (String) The value of the key/value pair

Nested Schema for device

Optional:

  • name (String) Device name for the port
  • redundancy (Attributes) Device redundancy configuration (see below for nested schema)

Nested Schema for device.redundancy

Optional:

  • group (String) Redundancy group identifier
  • priority (String) Redundancy priority (PRIMARY or SECONDARY)

Nested Schema for order

Optional:

  • customer_reference_id (String) Customer order reference Id
  • purchase_order (Attributes) Purchase order details (see below for nested schema)
  • signature (Attributes) Port order confirmation signature details (see below for nested schema)

Read-Only:

  • order_id (String) Order Identification
  • order_number (String) Order Reference Number
  • uuid (String) Equinix-assigned order identifier, this is a derived response attribute

Nested Schema for order.purchase_order

Read-Only:

  • amount (String) purchase order amount
  • attachment_id (String) purchase order attachment id
  • end_date (String) purchase order end date
  • number (String) purchase order number
  • start_date (String) purchase order start date
  • type (String) purchase order type

Nested Schema for order.signature

Required:

  • delegate (Attributes) delegate order details (see below for nested schema)
  • signatory (String) Port signature Type

Nested Schema for order.signature.delegate

Required:

  • email (String) Email of the signatory

Optional:

  • first_name (String) First name of the signatory
  • last_name (String) Last name of the signatory

Nested Schema for timeouts

Optional:

  • create (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
  • delete (String) A string that can be parsed as a duration 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.
  • read (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.
  • update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

Nested Schema for change_log

Read-Only:

  • created_by (String) User name of creator of the port resource
  • created_by_email (String) Email of creator of the port resource
  • created_by_full_name (String) Legal name of creator of the port resource
  • created_date_time (String) Creation time of the port resource
  • deleted_by (String) User name of deleter of the port resource
  • deleted_by_email (String) Email of deleter of the port resource
  • deleted_by_full_name (String) Legal name of deleter of the port resource
  • deleted_date_time (String) Deletion time of the port resource
  • updated_by (String) User name of last updater of the port resource
  • updated_by_email (String) Email of last updater of the port resource
  • updated_by_full_name (String) Legal name of last updater of the port resource
  • updated_date_time (String) Last update time of the port resource
Was this page helpful?