port_fabric_equinix (Ressource)
Cette ressource compatible avec l'API Fabric V4 permet la création et la gestion des ports Equinix Fabric.
Documentation supplémentaire:
- Pour commencer: https://docs.equinix.com/fabric/ports/fabric-order-port/
- API: https://docs.equinix.com/api-catalog/fabricv4/#operation/createPort
~> ** REMARQUE: ** Cette ressource est en version bêta et est susceptible d'être modifiée. Veuillez l'utiliser avec précaution. Cette ressource expérimentale peut contenir des bogues et n'est pas recommandée pour une utilisation en production.
- Il n'y a aucune garantie qu'une réservation de port soit effectuée après la création d'un ordre de port via Terraform.
- Si aucune réservation de port n'est effectuée, la commande de port est incomplète et la ressource Terraform ne pourra pas être utilisée comme dépendance.
- La suppression de ports n'est pas un processus rapide et peut prendre de 2 à 5 jours ouvrables.
- Veuillez noter qu'une nouvelle exécution de la ressource Terraform avec les mêmes paramètres pourrait ne pas aboutir à un port disponible pour la réservation, même si la précédente exécution a été réussie.
Exemple d'utilisation
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"
}
]
}
Diagramme
Requis
account(Attributs) Détails du compte de commande de port (voir ci-dessous pour le schéma imbriqué)connectivity_source_type(Chaîne de caractères) Type de connexion utilisé par le port après sa créationdemarcation_point_ibx(Chaîne de caractères) Code IBX où se trouvera le portencapsulation(Attributs) Paramètres d'encapsulation des ports (voir ci-dessous pour le schéma imbriqué)lag_enabled(Booléen) Valeur booléenne permettant d'activer le port créé avec les groupes d'agrégation de lienslocation(Attributs) Détails de localisation pour l'ordre des ports (voir ci-dessous pour le schéma imbriqué)notifications(Liste des attributs) Liste des types de notification et des utilisateurs enregistrés pour recevoir ces types de notification (voir ci-dessous pour le schéma imbriqué)physical_ports(Liste des attributs) Ports physiques qui implémenteront cet ordre de ports (voir ci-dessous pour le schéma imbriqué)physical_ports_count(Nombre) Nombre de ports physiques dans l'ordre des portsphysical_ports_speed(Nombre) Ports physiques Vitesse en Mbpsphysical_ports_type(Chaîne) Type de ports physiquesproject(Attributs) Détails du projet de commande de port (voir ci-dessous pour le schéma imbriqué)redundancy(Attributs) Paramètres de redondance des ports (voir ci-dessous pour le schéma imbriqué)settings(Attributs) Paramètres de configuration de l'ordre des ports (voir ci-dessous pour le schéma imbriqué)type(Chaîne de caractères) Type de requête d'ordre de port
En option
additional_info(Liste des attributs) Liste d'objets clé/valeur pour fournir un contexte supplémentaire à l'ordre du port (voir ci-dessous pour le schéma imbriqué)device(Attributs) Configuration du périphérique de port (voir ci-dessous pour le schéma imbriqué)name(Chaîne de caractères) Nom désigné du portorder(Attributs) Détails de la commande portuaire tels que les détails de la commande d'achat et la signature (voir ci-dessous pour le schéma imbriqué)timeouts(Attributs) (voir ci-dessous pour le schéma imbriqué)
Lecture seule
change_log(Attributs) Détails de la dernière modification apportée à la ressource de port (voir ci-dessous pour le schéma imbriqué)href(Chaîne) URI attribuée par Équinix à la ressource de portid(Chaîne de caractères) L'identificateur unique de la ressourcestate(Chaîne) Valeur représentant l'état d'approvisionnement de la ressource de portuuid(Chaîne de caractères) Identifiant unique attribué par Equinix à la ressource de port
Schéma imbriqué pour account
Requis:
account_number(Numéro) Numéro de compte pour lequel le port sera créé.
Lecture seule:
account_name(Chaîne de caractères) Nom légal du titulaire du compte.ucm_id(Chaîne) Identifiant du magasin de données d'entreprise
Schéma imbriqué pour encapsulation
Requis:
tag_protocol_id(Chaîne de caractères) Identifiant du protocole d'encapsulation de porttype(Chaîne) Type de protocole d'encapsulation de port
Schéma imbriqué pour location
Requis:
metro_code(Chaîne de caractères) Code Metro dans lequel le port sera créé
Schéma imbriqué pour notifications
Requis:
registered_users(Liste de chaînes de caractères) Tableau des utilisateurs enregistrés qui recevront ce type de notification sur le porttype(Chaîne) Type de notification
Schéma imbriqué pour physical_ports
Requis:
demarcation_point(Attributs) Port physique du client (voir ci-dessous pour le schéma imbriqué)type(Chaîne) Type de port physique
Facultatif:
interface(Attributs) Interface de port physique (voir ci-dessous pour le schéma imbriqué)
Schéma imbriqué pour physical_ports.demarcation_point
Requis:
cabinet_unique_space_id(Chaîne de caractères) Identifiant unique de l'espace du boîtier de portcage_unique_space_id(Chaîne de caractères) Identifiant unique de l'espace de la cage du portconnector_type(Chaîne) Type de connecteur de portibx(Chaîne de caractères) Code IBX Metro pour le port physiquepatch_panel(Chaîne) Panneau de brassage de ports
Schéma imbriqué pour physical_ports.interface
Facultatif:
type(Chaîne de caractères) Type d'interface pour le port physique
Schéma imbriqué pour project
Requis:
project_id(Chaîne de caractères) Identifiant du projet dans lequel le port sera créé
Schéma imbriqué pour redundancy
Requis:
priority(Chaîne de caractères) Valeur de priorité de redondance du port
Schéma imbriqué pour settings
Requis:
package_type(Chaîne de caractères) Forfait de facturation pour le port commandéshared_port_type(Booléen) Indique s'il s'agit d'une cage cliente dédiée ou d'une cage neutre partagée
Schéma imbriqué pour additional_info
Requis:
key(Chaîne de caractères) Le nom de la clé de la paire clé/valeurvalue(Chaîne de caractères) La valeur de la paire clé/valeur
Schéma imbriqué pour device
Facultatif:
name(Chaîne de caractères) Nom de l'appareil pour le portredundancy(Attributs) Configuration de redondance de l'appareil (voir ci-dessous pour le schéma imbriqué)
Schéma imbriqué pour device.redundancy
Facultatif:
group(Chaîne) Identifiant du groupe de redondancepriority(Chaîne de caractères) Priorité de redondance (PRINCIPALE ou SECONDAIRE)
Schéma imbriqué pour order
Facultatif:
customer_reference_id(Chaîne de caractères) Numéro de référence de la commande clientpurchase_order(Attributs) Détails du bon de commande (voir ci-dessous pour le schéma imbriqué)signature(Attributs) Détails de la signature de confirmation de commande du port (voir ci-dessous pour le schéma imbriqué)
Lecture seule:
order_id(Chaîne de caractères) Identification de la commandeorder_number(Chaîne de caractères) Numéro de référence de la commandeuuid(Chaîne de caractères) Identificateur de commande attribué par Equinix ; il s'agit d'un attribut de réponse dérivé
Schéma imbriqué pour order.purchase_order
Lecture seule:
amount(Chaîne de caractères) montant du bon de commandeattachment_id(Chaîne de caractères) identifiant de la pièce jointe au bon de commandeend_date(Chaîne de caractères) date de fin de commandenumber(Chaîne de caractères) numéro de bon de commandestart_date(Chaîne de caractères) date de début du bon de commandetype(Chaîne) type de bon de commande
Schéma imbriqué pour order.signature
Requis:
delegate(Attributs) détails de l'ordre de délégation (voir ci-dessous pour le schéma imbriqué)signatory(Chaîne) Type de signature de port
Schéma imbriqué pour order.signature.delegate
Requis:
email(Chaîne de caractères) Courriel du signataire
Facultatif:
first_name(Chaîne de caractères) Prénom du signatairelast_name(Chaîne de caractères) Nom de famille du signataire
Schéma imbriqué pour timeouts
Facultatif:
create(Chaîne) Une chaîne pouvant être [analysée comme une durée composée de nombres et de suffixes d'unité, tels que « 30s » ou « 2h45m ». Les unités de temps valides sont « s » (secondes), « m » (minutes) et « h » (heures).delete(Chaîne) Une chaîne pouvant être [interprétée comme une durée composée de nombres et d'unités, comme « 30s » ou « 2h45m ». Les unités de temps valides sont « s » (secondes), « m » (minutes) et « h » (heures). La définition d'un délai d'expiration pour une opération de suppression n'est applicable que si des modifications sont enregistrées avant l'exécution de l'opération.read(Chaîne) Une chaîne pouvant être [interprétée comme une durée composée de nombres et d'unités, comme « 30s » ou « 2h45m ». Les unités de temps valides sont « s » (secondes), « m » (minutes) et « h » (heures). Les opérations de lecture ont lieu lors de toute opération d'actualisation ou de planification lorsque l'actualisation est activée.update(Chaîne) Une chaîne pouvant être [analysée comme une durée composée de nombres et de suffixes d'unité, tels que « 30s » ou « 2h45m ». Les unités de temps valides sont « s » (secondes), « m » (minutes) et « h » (heures).
Schéma imbriqué pour change_log
Lecture seule:
created_by(Chaîne de caractères) Nom d'utilisateur du créateur de la ressource de portcreated_by_email(Chaîne de caractères) Adresse courriel du créateur de la ressource portuairecreated_by_full_name(Chaîne de caractères) Nom légal du créateur de la ressource portuairecreated_date_time(Chaîne de caractères) Heure de création de la ressource de portdeleted_by(Chaîne de caractères) Nom d'utilisateur de la personne qui supprime la ressource du portdeleted_by_email(Chaîne de caractères) Adresse courriel de la personne ayant supprimé la ressource du portdeleted_by_full_name(Chaîne) Nom légal du destructeur de la ressource de portdeleted_date_time(Chaîne) Date de suppression de la ressource de portupdated_by(Chaîne de caractères) Nom d'utilisateur du dernier administrateur de la ressource de portupdated_by_email(Chaîne de caractères) Adresse courriel du dernier auteur de la mise à jour de la ressource du portupdated_by_full_name(Chaîne de caractères) Nom légal du dernier responsable de la mise à jour de la ressource de portupdated_date_time(Chaîne de caractères) Date et heure de la dernière mise à jour de la ressource de port