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