Note

Ce plugin fait partie de la collection collection azure.azcollection (version 1.4.0).

Pour l'installer, utilisez : ansible-galaxy collection install azure.azcollection.

Pour l'utiliser dans un playbook, spécifiez : azure.azcollection.azure_rm_networkinterface.

Nouveau dans la version 0.1.0 : de azure.azcollection

  • Synopsis
  • Exigences
  • Paramètres
  • Notes
  • Voir aussi
  • Exemples
  • Valeurs de retour

Synopsis

  • Crée, met à jour ou supprime une interface réseau.
  • Lors de la création d'une interface réseau, vous devez fournir le nom d'un réseau virtuel existant, le nom d'un sous-réseau existant dans le réseau virtuel.
  • Un groupe de sécurité et une adresse IP publique par défaut seront créés automatiquement.
  • Ou vous pouvez fournir le nom d'un groupe de sécurité et d'une adresse IP publique existants.
  • Voir les exemples ci-dessous pour plus de détails.

Exigences

Les exigences ci-dessous sont nécessaires sur l'hôte qui exécute ce module.

  • python >= 2.7
  • azure >= 2.0.0

Paramètres

Paramètre Choix/par défaut Commentaires
ad_userchaîne de caractères Nom d'utilisateur Active Directory. A utiliser lors de l'authentification avec un utilisateur Active Directory plutôt qu'avec un principal de service.
adfs_authority_urlchaîne de caractères ajouté dans la version 0.0.1 de azure.azcollection Url de l'autorité Azure AD. A utiliser lors de l'authentification avec nom d'utilisateur/mot de passe, et a votre propre autorité ADFS.
api_profilechaîne de caractères ajouté dans la version 0.0.1 de azure.azcollection Par défaut :
"dernier"
Sélectionne un profil d'API à utiliser lors de la communication avec les services Azure. Valeur par défaut de latest est appropriée pour les clouds publics ; les valeurs futures permettront une utilisation avec Azure Stack.
append_tagsbooléen
    Choix :

  • pas de
  • oui
Utiliser pour contrôler si le champ tags est canonique ou s'ajoute simplement aux tags existants.Lorsqu'il est canonique, tous les tags non trouvés dans le paramètre tags seront supprimés des métadonnées de l'objet.
auth_sourcechaîne de caractères ajouté dans la version 0.0.1 de azure.azcollection
    Choix :

  • auto
  • cli
  • fichier d'identification
  • env
  • msi
Contrôle la source des informations d'identification à utiliser pour l'authentification.Peut également être défini via le paramètre ANSIBLE_AZURE_AUTH_SOURCE Lorsqu'elle est définie sur auto (la valeur par défaut), la priorité est accordée aux paramètres du module ->... env -> credential_file -> cliQuand il est réglé sur env, les informations d'identification seront lues à partir des variables d'environnementLorsqu'il est défini sur credential_file, le profil sera lu à partir de ~/.azure/credentials.Lorsqu'il a pour valeur cli, les informations d'identification seront des sources du profil Azure CLI. subscription_id ou la variable d'environnement AZURE_SUBSCRIPTION_ID peut être utilisée pour identifier l'ID de l'abonnement si plus d'un est présent sinon l'abonnement az cli par défaut est utilisé.Lorsqu'elle est définie sur msi, la machine hôte doit être une ressource azure avec une extension MSI activée. subscription_id ou la variable d'environnement AZURE_SUBSCRIPTION_ID peuvent être utilisées pour identifier l'ID de l'abonnement si la ressource a accès à plus d'un abonnement, sinon le premier abonnement est choisi.L'option msi a été ajouté dans Ansible 2.6.
cert_validation_modechaîne de caractères ajouté dans la version 0.0.1 de azure.azcollection
    Choix :

  • ignorer
  • valider
Contrôle le comportement de validation du certificat pour les points de terminaison Azure. Par défaut, tous les modules valideront le certificat du serveur, mais lorsqu'un proxy HTTPS est utilisé, ou contre Azure Stack, il peut être nécessaire de désactiver ce comportement en passant le paramètre ignore. Peut également être défini via le profil du fichier d'accréditation ou l'attribut AZURE_CERT_VALIDATION variable d'environnement.
client_idchaîne de caractères ID du client Azure. À utiliser lors de l'authentification avec un principal de service.
cloud_environnementchaîne de caractères ajouté dans la version 0.0.1 de azure.azcollection Par défaut :
"AzureCloud"
Pour les environnements de cloud autres que le cloud public américain, le nom de l'environnement (tel que défini par Azure Python SDK, par ex, AzureChinaCloud, AzureUSGovernment), ou une URL de point de terminaison de découverte de métadonnées (nécessaire pour Azure Stack). Peut également être défini via le profil du fichier d'accréditation ou le profil de l'utilisateur. AZURE_CLOUD_ENVIRONMENT variable d'environnement.
create_with_security_groupbooléen
    Choix :

  • pas de
  • oui
Si un groupe de sécurité doit être créé avec la carte réseau.Si ce drapeau a la valeur True et pas de groupe_de_sécurité défini, un groupe de sécurité par défaut sera créé.
dns_serversliste / elements=chaîne Quels sont les serveurs DNS que la carte réseau doit consulter.Liste d'adresses IP.
enable_accelerated_networkingbooléen
    Choix :

  • pas de
  • oui
Si l'interface réseau doit être créée avec la fonction de mise en réseau accélérée ou non.
enable_ip_forwardingbooléen
    Choix :

  • pas de
  • oui
Activation ou non du transfert d'IP.
alias : ip_forwarding
ip_configurationschaîne de caractères Liste des configurations IP. Chaque objet de configuration doit inclure le champ adresse_ip_privée, méthode d'allocation privée d'adresses IP, nom_adresse_ip publique, public_ip, Méthode d'allocation de l'adresse IP publique, nom.
application_security_groupschaîne de caractères Liste des groupes de sécurité d'application dans lesquels la configuration IP est incluse.L'élément de la liste pourrait être un id de ressource du groupe de sécurité d'application, ou un dict de... resource_group et nom.
load_balancer_backend_address_poolschaîne de caractères Liste des pools d'adresses backend d'équilibreur de charge existants à associer à l'interface réseau.Peut être écrite comme un ID de ressource.Peut aussi être un dict de nom et load_balancer.
nomchaîne de caractères / obligatoire Nom de la configuration IP.
primairebooléen
    Choix :

  • pas de
  • oui
Si la configuration IP est la première de la liste.La première configuration IP par défaut est définie sur primaire=Vrai.
adresse_ip_privéechaîne de caractères Adresse IP privée pour la configuration de l'IP.
méthode d'allocation_ip_privéechaîne de caractères
    Choix :

  • Dynamique
  • Statique
Méthode d'allocation des adresses IP privées.
nom_adresse_ip publiquechaîne de caractères Nom de l'adresse IP publique. Aucun pour une adresse IP désactivée.
alias : adresse_ip_publique, nom_ip_publique.
public_ip_allocation_methodchaîne de caractères
    Choix :

  • Dynamique
  • Statique
Méthode d'attribution de l'IP publique.
localisationchaîne de caractères Emplacement Azure valide. Par défaut, l'emplacement du groupe de ressources.
nomchaîne de caractères / obligatoire Nom de l'interface réseau.
open_portschaîne de caractères Lorsqu'un groupe de sécurité par défaut est créé pour un hôte Linux, une règle sera ajoutée pour autoriser les connexions TCP entrantes vers le port SSH par défaut. 22, et pour un hôte Windows, des règles seront ajoutées permettant l'accès entrant aux ports RDP. 3389 et 5986. Remplacez les ports par défaut en fournissant une liste de ports ouverts.
os_typechaîne de caractères
    Choix :

  • Windows
  • Linux
Détermine les éventuelles règles à ajouter à un groupe de sécurité par défaut.Lors de la création d'une interface réseau, si aucun nom de groupe de sécurité n'est fourni, un groupe de sécurité par défaut sera créé.Si l'option os_type=Windows une règle autorisant l'accès RDP sera ajoutée.Si l'option os_type=Linux, une règle autorisant l'accès SSH sera ajoutée.
mot de passechaîne de caractères Mot de passe de l'utilisateur Active Directory. A utiliser lors de l'authentification avec un utilisateur Active Directory plutôt qu'avec un principal de service.
adresse_ip_privéechaîne de caractères (Déprécié) Adresse IPv4 valide qui tombe dans le sous-réseau spécifié.Cette option sera dépréciée dans la 2.9, utilisez. ip_configurations à la place.
méthode d'allocation_ip_privéechaîne de caractères
    Choix :

  • Dynamique
  • Statique
(Déprécié) Indique si l'adresse IP attribuée est permanente ou non.Lors de la création d'une interface réseau, si vous indiquez adresse_ip_privée=Statique, vous devez fournir une valeur pour adresse_ip_privée Vous pouvez mettre à jour la méthode d'allocation à Static après qu'une adresse IP privée dynamique ait été attribuée.Cette option sera dépréciée dans la version 2.9, utilisez la méthode ip_configurations à la place.
profilchaîne de caractères Profil de sécurité trouvé dans le fichier ~/.azure/credentials.
public_ipboolean
    Choix :

  • pas de
  • oui
(Déprécié) Lors de la création d'une interface réseau, si aucun nom d'adresse IP publique n'est fourni, une adresse IP publique par défaut sera créée.Défini sur false si vous ne voulez pas qu'une adresse IP publique soit automatiquement créée.Cette option sera dépréciée dans la version 2.9, utilisez la valeur ip_configurations à la place.
nom_adresse_ip publiquechaîne de caractères (Déprécié) Nom d'un objet d'adresse IP publique existant à associer au groupe de sécurité.Cette option sera dépréciée dans la version 2.9, utilisez... ip_configurations à la place.
alias : adresse_ip_publique, nom_ip_publique.
méthode_d'allocation_public_ipchaîne de caractères
    Choix :

  • Dynamique
  • Statique
(Déprécié) Si un nom_adresse_ip publique n'est pas fournie, une adresse IP publique par défaut sera créée.La méthode d'allocation détermine si l'adresse IP publique attribuée à l'interface réseau est permanente ou non.Cette option sera dépréciée dans la version 2.9, utiliser ip_configurations à la place.
groupe_ressourceschaîne de caractères / obligatoire Nom d'un groupe de ressources où l'interface réseau existe ou sera créée.
secretchaîne de caractères Secret du client Azure. À utiliser lors de l'authentification avec un principal de service.
groupe_de_sécuritéchaîne de caractères Un groupe de sécurité existant auquel associer l'interface réseau.S'il n'est pas fourni, un groupe de sécurité par défaut sera créé lorsque... create_with_security_group=true.Il peut s'agir du nom du groupe de sécurité.Assurez-vous que le groupe de sécurité se trouve dans le même groupe de ressources lorsque vous ne donnez que son nom.Il peut s'agir de l'id de la ressource.Il peut s'agir d'un dict contenant les informations de security_group. nom et groupe_ressources.
alias : nom du groupe de sécurité
étatchaîne de caractères
    Choix :

  • absent
  • présent
Affirme l'état de l'interface réseau. Utilisez present pour créer ou mettre à jour une interface et absent pour supprimer une interface.
nom_sous-réseauchaîne de caractères / obligatoire Nom d'un sous-réseau existant dans le réseau virtuel spécifié. Requis lors de la création d'une interface réseau. virtual_network's resource group.
alias : subnet
abonnement_idchaîne de caractères Votre identifiant d'abonnement Azure.
balisesdictionnaire Dictionnaire de paires chaîne:chaîne à affecter comme métadonnées à l'objet.Les balises de métadonnées sur l'objet seront mises à jour avec toutes les valeurs fournies.Pour supprimer les balises, définissez l'option append_tags à false.
locatairechaîne de caractères ID du locataire Azure. À utiliser lors de l'authentification avec un principal de service.
réseau_virtuelchaîne de caractères / obligatoire Un réseau virtuel existant avec lequel l'interface réseau sera associée. Requis lors de la création d'une interface réseau.Il peut être le nom du réseau virtuel.Assurez-vous que votre réseau virtuel est dans le même groupe de ressources que NIC lorsque vous donnez seulement le nom.Il peut être l'id de ressource du réseau virtuel.Il peut être un dict qui contient nom et groupe_ressources du réseau virtuel.
alias : nom_réseau_virtuel

Notes

Note

  • Pour l'authentification avec Azure, vous pouvez passer des paramètres, définir des variables d'environnement, utiliser un profil stocké dans ~/.azure/credentials, ou vous connecter avant d'exécuter vos tâches ou votre playbook avec... az login.
  • L'authentification est également possible en utilisant un principal de service ou un utilisateur Active Directory.
  • Pour s'authentifier via un principal de service, passez le subscription_id, le client_id, le secret et le locataire ou définissez les variables d'environnement AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET et AZURE_TENANT.
  • Pour s'authentifier via un utilisateur Active Directory, passez ad_user et password, ou définissez AZURE_AD_USER et AZURE_PASSWORD dans l'environnement.
  • Alternativement, les informations d'identification peuvent être stockées dans ~/.azure/credentials. Il s'agit d'un fichier ini contenant un [default] et les clés suivantes : subscription_id, client_id, secret et tenant ou subscription_id, ad_user et password. Il est également possible d'ajouter des profils supplémentaires. Spécifiez le profil en passant profil ou en définissant AZURE_PROFILE dans l'environnement.

Voir aussi

Voir aussi

Se connecter avec Azure CLI

Comment s'authentifier en utilisant le az login commande.

Exemples

-name: Create a network interface with minimal parameters
  azure_rm_networkinterface:name: nic001
    resource_group: myResourceGroup
    virtual_network: vnet001
    subnet_name: subnet001
    ip_configurations:-name: ipconfig1
        public_ip_address_name: publicip001
        primary:True-name: Create a network interface with private IP address only (no Public IP)
  azure_rm_networkinterface:name: nic001
    resource_group: myResourceGroup
    virtual_network: vnet001
    subnet_name: subnet001
    create_with_security_group:Falseip_configurations:-name: ipconfig1
        primary:True-name: Create a network interface for use in a Windows host (opens RDP port) with custom RDP port
  azure_rm_networkinterface:name: nic002
    resource_group: myResourceGroup
    virtual_network: vnet001
    subnet_name: subnet001
    os_type: Windows
    rdp_port:3399security_group: "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkSecurit
                     yGroups/nsg001"
    ip_configurations:-name: ipconfig1
        public_ip_address_name: publicip001
        primary:True-name: Create a network interface using existing security group and public IP
  azure_rm_networkinterface:name: nic003
    resource_group: myResourceGroup
    virtual_network: vnet001
    subnet_name: subnet001
    security_group: secgroup001
    ip_configurations:-name: ipconfig1
        public_ip_address_name: publicip001
        primary:True-name: Create a network with multiple ip configurations
  azure_rm_networkinterface:name: nic004
    resource_group: myResourceGroup
    subnet_name: subnet001
    virtual_network: vnet001
    security_group:name: testnic002
      resource_group: Testing1
    ip_configurations:-name: ipconfig1
        public_ip_address_name: publicip001
        primary:True-name: ipconfig2
        load_balancer_backend_address_pools:-"{{ loadbalancer001.state.backend_address_pools[0].id }}"-name: backendaddrpool1
            load_balancer: loadbalancer001

-name: Create a network interface in accelerated networking mode
  azure_rm_networkinterface:name: nic005
    resource_group: myResourceGroup
    virtual_network_name: vnet001
    subnet_name: subnet001
    enable_accelerated_networking:True-name: Create a network interface with IP forwarding
  azure_rm_networkinterface:name: nic001
    resource_group: myResourceGroup
    virtual_network: vnet001
    subnet_name: subnet001
    ip_forwarding:Trueip_configurations:-name: ipconfig1
        public_ip_address_name: publicip001
        primary:True-name: Create a network interface with dns servers
  azure_rm_networkinterface:name: nic009
    resource_group: myResourceGroup
    virtual_network: vnet001
    subnet_name: subnet001
    dns_servers:- 8.8.8.8

-name: Delete network interface
  azure_rm_networkinterface:resource_group: myResourceGroup
    name: nic003
    state: absent

Valeurs de retour

Les valeurs de retour courantes sont documentées. ici, les champs suivants sont uniques à ce module :

Clé Retourné Description
étatcomplexe toujours L'état actuel de l'interface réseau.
dns_serverliste / elements=string succès Quels serveurs DNS la carte d'interface réseau doit-elle consulter ? Liste d'adresses IP.
Exemple :['8.9.10.11', '7.8.9.10']
dns_settingdictionnaire succès Les paramètres DNS dans l'interface réseau.
Exemple :{'applied_dns_servers' : [], 'dns_servers' : ['8.9.10.11', '7.8.9.10'], 'internal_dns_name_label' : None, 'internal_fqdn' : Aucun}
enable_accelerated_networkingbooléen succès Indique si l'interface réseau doit être créée avec la fonction de mise en réseau accélérée ou non.
Exemple : Vrai
enable_ip_forwardingbooléen succès Activation ou non du transfert d'IP.
Exemple : Vrai
etagchaîne de caractères succès Une chaîne unique en lecture seule qui change à chaque fois que la ressource est mise à jour.
Exemple : W/"be115a43-2148-4545-a324-f33ad444c926"
idchaîne de caractères succès Id de l'interface réseau.
Exemple :/souscriptions/xxxxxxxx-xxxx-xxxx-xxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nic003.
ip_configurationscomplexe succès Liste des configurations IP.
load_balancer_backend_address_poolsliste / elements=string succès Liste des pools d'adresses backend d'équilibreur de charge existants à associer à l'interface réseau.
nomchaîne de caractères succès Nom de la configuration IP.
Exemple : par défaut
adresse_ip_privéechaîne de caractères succès Adresse IP privée pour la configuration IP.
Exemple : 10.1.0.10
méthode d'allocation_ip privéechaîne de caractères succès Méthode d'allocation de l'IP privée.
Echantillon : Statique
adresse_ip_publiquedictionnaire succès Nom de l'adresse IP publique. Aucun pour l'adresse IP désactivée.
Exemple :{'id' : '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/resourceGroup/myResourceGroup/providers/Microsoft.Network/publicIPAddresse s/publicip001', 'name' : 'publicip001'}
sous-réseaudictionnaire succès La référence de la ressource du sous-réseau.
Exemple :{'id' : '/subscriptions/xxxxxxxxx-xxxx-xxxx-xxxxxxxx/resourceGroups/ myresourcegroup/providers/Microsoft.Network/virtualNetworks/tnb57dc95318/subnets/tnb57dc95318', 'name' : 'tnb57dc95318', 'resource_group' : 'myresourcegroup', 'virtual_network_name' : 'tnb57dc95318'}
localisationchaîne de caractères succès L'emplacement de la ressource de l'interface réseau.
Exemple : eastus
mac_addresschaîne de caractères succès L'adresse MAC de l'interface réseau.
nomchaîne de caractères succès Nom de l'interface réseau.
Exemple : nic003
groupe_sécurité_réseaudictionnaire succès La référence de la ressource du groupe de sécurité du réseau.
Exemple :{'id' : '/subscriptions//xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/resourceGroup/ myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/nsg001', 'name' : 'nsg001'}
primairebooléen succès Obtenir si c'est une interface réseau primaire sur la machine virtuelle.
Exemple : Vrai
provisioning_statechaîne de caractères succès L'état de provisionnement de la ressource IP publique.
Exemple : Réussie
balisesdictionnaire succès -Balises de l'interface réseau.
Exemple :{'clé' : 'valeur'}
typechaîne de caractères succès Type de la ressource.
Echantillon : Microsoft.Network/networkInterfaces

Auteurs

  • Chris Houseknecht (@chouseknecht)
  • Matt Davis (@nitzmahone)
  • Yuwei Zhou (@yuwzho)