equinix_fabric_port (Recurso)
O recurso compatível com a API Fabric V4 permite a criação e o gerenciamento de portas Equinix Fabric.
Documentação adicional:
- Primeiros passos: portas
- API: https://docs.equinix.com/api-catalog/fabricv4/#operation/createPort
NOTA: Este recurso está em versão beta e sujeito a alterações. Use com cautela. Recurso experimental pode conter erros e não é recomendado para uso em produção.
- Não há garantias de que uma reserva de porta ocorrerá após a criação de uma ordem de porta por meio do Terraform.
- Se uma reserva de porta não ocorrer, o pedido de porta não será concluído e o recurso Terraform não poderá ser usado como dependência.
- A exclusão de portas não é um processo rápido e pode levar de 2 a 5 dias úteis para ser concluída.
- Atenção: executar novamente o recurso Terraform com as mesmas configurações pode não resultar em uma porta disponível para reserva, mesmo que a execução anterior tenha sido concluída com sucesso.
Exemplo de uso
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"
}
]
}
Esquema
Obrigatório
account(Atributos) Detalhes da conta de pedido de Porta (consulte abaixo para esquema aninhado)connectivity_source_type(String) Tipo de conexão que é usada pela porta após a criaçãodemarcation_point_ibx(String) Código IBX onde a porta estará localizadaencapsulation(Atributos) Configurações de encapsulamento de Porta (consulte [abaixo para esquema aninhado](#nestedatt-- encapsulamento))lag_enabled(Booleano) Valor booleano para habilitar a porta criada com Grupos de Agregação de Linkslocation(Atributos) Detalhes de localização para o pedido de porta (consulte abaixo para esquema aninhado)notifications(Lista de atributos) Lista de tipos de notificação e os usuários registrados para receber esses tipos de notificação (consulte abaixo para esquema aninhado)physical_ports(Lista de atributos) portas físicas que implementarão esta pedido de porta (consulte abaixo para esquema aninhado)physical_ports_count(Número) Número de portas físicas na Pedido de Portaphysical_ports_speed(Número) Velocidade das Portas físicas em Mbpsphysical_ports_type(String) Tipo de Portas físicasproject(Atributos) Detalhes do projeto de pedido de Porta (consulte abaixo para esquema aninhado)redundancy(Atributos) Configurações de redundância de Porta (consulte [abaixo para esquema aninhado](#nestedatt-- redundância))settings(Atributos) configuração de pedido de Porta (consulte abaixo para esquema aninhado)type(String) Tipo da solicitar de pedido de porta
Opcional
additional_info(Lista de Atributos) Lista de objetos chave/valor para fornecer contexto adicional ao pedido de Porta (consulte abaixo para esquema aninhado)device(Atributos) configuração do dispositivo de Porta (consulte [abaixo para esquema aninhado](#nestedatt-- dispositivo))name(String) Nome designado da portaorder(Atributos) Detalhes do Pedido de Porta, como detalhes do pedido de compra e assinatura (consulte [abaixo para esquema aninhado](#nestedatt-- pedido))timeouts(Atributos) (veja abaixo para esquema aninhado)
Somente leitura
change_log(Atributos) Detalhes da última alteração no recurso de porta (consulte abaixo para esquema aninhado)href(String) URI atribuído pela Equinix ao recurso de portaid(String) O identificador único do recursostate(String) Valor que representa o status de provisionamento para o recurso de portauuid(String) Identificador único atribuído pela Equinix ao recurso de porta
Esquema aninhado para account
Obrigatório:
account_number(Número) Número da conta para a qual a porta será criada
Somente leitura:
account_name(String) Nome legal do titular da conta.ucm_id(String) ID do repositório de dados corporativo
Esquema aninhado para encapsulation
Obrigatório:
tag_protocol_id(String) Identificador do protocolo da tag de encapsulamento de Portatype(String) Tipo de protocolo de encapsulamento de Porta
Esquema aninhado para location
Obrigatório:
metro_code(String) Código do área metropolitana em que a porta será criada
Esquema aninhado para notifications
Obrigatório:
registered_users(Lista de Strings) Array de usuários registrados que receberão este tipo de notificação na portatype(String) Tipo de notificação
Esquema aninhado para physical_ports
Obrigatório:
demarcation_point(Atributos) porta física do cliente (consulte abaixo para esquema aninhado)type(String) Tipo de Porta física
Opcional:
interface(Atributos) Interface de porta física (consulte abaixo para esquema aninhado)
Esquema aninhado para physical_ports.demarcation_point
Obrigatório:
cabinet_unique_space_id(String) ID de espaço exclusivo do rack da Portacage_unique_space_id(String) ID único do espaço da cage de Portaconnector_type(String) Tipo de conector de Portaibx(String) Código IBX área metropolitana para a porta físicapatch_panel(String) patch panel de Porta
Esquema aninhado para physical_ports.interface
Opcional:
type(String) Tipo de interface para a porta física
Esquema aninhado para project
Obrigatório:
project_id(String) ID do projeto em que a porta será criada
Esquema aninhado para redundancy
Obrigatório:
priority(String) Valor de prioridade de redundância de Porta
Esquema aninhado para settings
Obrigatório:
package_type(String) Pacote de faturamento para a porta que está sendo solicitadashared_port_type(Booleano) Indica se esta é uma cage dedicado ao cliente ou uma cage neutra compartilhada.
Esquema aninhado para additional_info
Obrigatório:
key(String) O nome da chave do par chave/valorvalue(String) O valor do par chave/valor
Esquema aninhado para device
Opcional:
name(String) Nome do dispositivo para a portaredundancy(Atributos) configuração de redundância de dispositivo (consulte [abaixo para esquema aninhado](#nestedatt-- dispositivo-- redundância))
Esquema aninhado para device.redundancy
Opcional:
group(String) Identificador do grupo de redundânciapriority(String) Prioridade de redundância (PRIMÁRIA ou SECUNDÁRIA)
Esquema aninhado para order
Opcional:
customer_reference_id(String) ID de referência do pedido do clientepurchase_order(Atributos) Detalhes do pedido de compra (consulte [abaixo para o esquema aninhado](#nestedatt-- pedido--purchase_order))signature(Atributos) Detalhes da assinatura de confirmação do pedido de Porta (consulte [abaixo para esquema aninhado](#nestedatt-- pedido--signature))
Somente leitura:
order_id(String) Identificação do Pedidoorder_number(String) Número de referência do Pedidouuid(String) Identificador de pedido atribuído pela Equinix; este é um atributo de resposta derivado.
Esquema aninhado para order.purchase_order
Somente leitura:
amount(String) valor do ordem de compraattachment_id(String) ID do anexo do ordem de compraend_date(String) data de término do ordem de compranumber(String) número do ordem de comprastart_date(String) data de início do ordem de compratype(String) tipo de ordem de compra
Esquema aninhado para order.signature
Obrigatório:
delegate(Atributos) detalhes do pedido do delegado (consulte [abaixo para esquema aninhado](#nestedatt-- pedido--signature--delegate))signatory(String) Tipo de assinatura da Porta
Esquema aninhado para order.signature.delegate
Obrigatório:
email(String) E-mail do signatário
Opcional:
first_name(String) Primeiro nome do signatáriolast_name(String) Sobrenome do signatário
Esquema aninhado para timeouts
Opcional:
create(String) Uma string que pode ser [analisada como uma duração consistindo de números e sufixos de unidade, como "30s" ou "2h45m". As unidades de tempo válidas são "s" (segundos), "m" (minutos), "h" (horas).delete(String) Uma string que pode ser [analisada como uma duração composta por números e sufixos de unidades, como "30s" ou "2h45m". As unidades de tempo válidas são "s" (segundos), "m" (minutos) e "h" (horas). Definir um tempo limite para uma operação de exclusão só se aplica se as alterações forem salvas no estado antes da operação de exclusão ocorrer.read(String) Uma string que pode ser [analisada como uma duração composta por números e sufixos de unidades, como "30s" ou "2h45m". As unidades de tempo válidas são "s" (segundos), "m" (minutos) e "h" (horas). As operações de leitura ocorrem durante qualquer operação de atualização ou planejamento quando a atualização está habilitada.update(String) Uma string que pode ser [analisada como uma duração consistindo de números e sufixos de unidade, como "30s" ou "2h45m". As unidades de tempo válidas são "s" (segundos), "m" (minutos), "h" (horas).
Esquema aninhado para change_log
Somente leitura:
created_by(String) Nome de usuário do criador do recurso de portacreated_by_email(String) E-mail do criador do recurso de portacreated_by_full_name(String) Nome legal do criador do recurso de portacreated_date_time(String) Hora de criação do recurso de portadeleted_by(String) Nome de usuário do excluídor do recurso de portadeleted_by_email(String) E-mail de quem excluiu o recurso de portadeleted_by_full_name(String) Nome legal do deletador do recurso de portadeleted_date_time(String) Tempo de exclusão do recurso de portaupdated_by(String) Nome de usuário do último atualizador do recurso de portaupdated_by_email(String) E-mail do último atualizador do recurso de portaupdated_by_full_name(String) Nome legal do último atualizador do recurso de portaupdated_date_time(String) Última hora de atualização do recurso de porta