PARALLAX

azure_rm_networkinterface

Manage Azure network interfaces

Collection: azure.azcollection

Full Name: azure.azcollection.azure_rm_networkinterface

Synopsis

Manage Azure network interfaces

Parameters

NameTypeRequiredDefaultDescription
ad_userstringActive Directory username. Use when authenticating with an Active Directory user rather than service principal.
adfs_authority_urlstringAzure AD authority url. Use when authenticating with Username/password, and has your own ADFS authority.
api_profilestringlatestSelects an API profile to use when communicating with Azure services. Default value of C(latest) is appropriate for public clouds; future values will allow use with Azure Stack.
append_tagsbooltrueUse to control if tags field is canonical or just appends to existing tags.
When canonical, any tags not found in the tags parameter will be removed from the object’s metadata.
auth_sourcestringautoControls the source of the credentials to use for authentication.
Can also be set via the C(ANSIBLE_AZURE_AUTH_SOURCE) environment variable.
When set to C(auto) (the default) the precedence is module parameters -> C(env) -> C(credential_file) -> C(cli).
When set to C(env), the credentials will be read from the environment variables.
When set to C(credential_file), it will read the profile from C(~/.azure/credentials).
When set to C(cli), the credentials will be sources from the Azure CLI profile. C(subscription_id) or the environment variable C(AZURE_SUBSCRIPTION_ID) can be used to identify the subscription ID if more than one is present otherwise the default az cli subscription is used.
When set to C(msi), the host machine must be an azure resource with an enabled MSI extension. C(subscription_id) or the environment variable C(AZURE_SUBSCRIPTION_ID) can be used to identify the subscription ID if the resource is granted access to more than one subscription, otherwise the first subscription is chosen.
The C(msi) was added in Ansible 2.6.
cert_validation_modestringControls the certificate validation behavior for Azure endpoints. By default, all modules will validate the server certificate, but when an HTTPS proxy is in use, or against Azure Stack, it may be necessary to disable this behavior by passing C(ignore). Can also be set via credential file profile or the C(AZURE_CERT_VALIDATION) environment variable.
client_idstringAzure client ID. Use when authenticating with a Service Principal or Managed Identity (msi).
Can also be set via the C(AZURE_CLIENT_ID) environment variable.
cloud_environmentstringAzureCloudFor cloud environments other than the US public cloud, the environment name (as defined by Azure Python SDK, eg, C(AzureChinaCloud), C(AzureUSGovernment)), or a metadata discovery endpoint URL (required for Azure Stack). Can also be set via credential file profile or the C(AZURE_CLOUD_ENVIRONMENT) environment variable.
create_with_security_groupbooltrueWhether a security group should be be created with the NIC.
If this flag set to C(True) and no I(security_group) set, a default security group will be created.
disable_instance_discoveryboolfalseDetermines whether or not instance discovery is performed when attempting to authenticate. Setting this to true will completely disable both instance discovery and authority validation. This functionality is intended for use in scenarios where the metadata endpoint cannot be reached such as in private clouds or Azure Stack. The process of instance discovery entails retrieving authority metadata from https://login.microsoft.com/ to validate the authority. By setting this to True, the validation of the authority is disabled. As a result, it is crucial to ensure that the configured authority host is valid and trustworthy.
Set via credential file profile or the C(AZURE_DISABLE_INSTANCE_DISCOVERY) environment variable.
dns_serverslistWhich DNS servers should the NIC lookup.
List of IP addresses.
enable_accelerated_networkingboolfalseWhether the network interface should be created with the accelerated networking feature or not.
enable_ip_forwardingboolfalseWhether to enable IP forwarding.
ip_configurationslist[]List of IP configurations. Each configuration object should include field I(private_ip_address), I(private_ip_allocation_method), I(public_ip_address_name), I(public_ip), I(public_ip_allocation_method), I(name).
locationstringValid Azure location. Defaults to location of the resource group.
log_modestringParent argument.
log_pathstringParent argument.
namestringyesName of the network interface.
oidc_tokenstringDirect OpenID Connect (OIDC) token (JWT) used for workload identity authentication.
This token is exchanged with Azure AD using OIDC federated identity.
Useful in CI systems (for example GitHub Actions, Azure DevOps) where an OIDC token is provided directly by the platform.
Can also be set via the C(AZURE_FEDERATED_TOKEN) environment variable.
oidc_token_file_pathstringPath to a file containing an OpenID Connect (OIDC) token (JWT) used for workload identity authentication.
The file must contain only raw token.
This method is commonly used in platforms that materialize OIDC tokens as files
Can also be set via the C(AZURE_FEDERATED_TOKEN_FILE) environment variable.
open_portslistWhen a default security group is created for a Linux host a rule will be added allowing inbound TCP connections to the default SSH port C(22), and for a Windows host rules will be added allowing inbound access to RDP ports C(3389) and C(5986). Override the default ports by providing a list of open ports.
os_typestringLinuxDetermines any rules to be added to a default security group.
When creating a network interface, if no security group name is provided, a default security group will be created.
If the I(os_type=Windows), a rule allowing RDP access will be added.
If the I(os_type=Linux), a rule allowing SSH access will be added.
passwordstringActive Directory user password. Use when authenticating with an Active Directory user rather than service principal.
profilestringSecurity profile found in ~/.azure/credentials file.
resource_groupstringyesName of a resource group where the network interface exists or will be created.
secretstringAzure client secret. Use when authenticating with a Service Principal.
security_grouprawAn existing security group with which to associate the network interface.
If not provided, a default security group will be created when I(create_with_security_group=true).
It can be the name of security group.
Make sure the security group is in the same resource group when you only give its name.
It can be the resource id.
It can be a dict contains security_group’s I(name) and I(resource_group).
statestringpresentAssert the state of the network interface. Use C(present) to create or update an interface and C(absent) to delete an interface.
subnet_namestringName of an existing subnet within the specified virtual network. Required when creating a network interface.
Use the C(virtual_network)’s resource group.
Required when creating.
subscription_idstringYour Azure subscription Id.
tagsdictDictionary of string:string pairs to assign as metadata to the object.
Metadata tags on the object will be updated with any provided values.
To remove tags set append_tags option to false.
Currently, Azure DNS zones and Traffic Manager services also don’t allow the use of spaces in the tag.
Azure Front Door doesn’t support the use of
Azure Automation and Azure CDN only support 15 tags on resources.
tenantstringAzure tenant ID. Use when authenticating with a Service Principal.
thumbprintstringThe thumbprint of the private key specified in I(x509_certificate_path).
Use when authenticating with a Service Principal.
Required if I(x509_certificate_path) is defined.
virtual_networkrawAn existing virtual network with which the network interface will be associated. Required when creating a network interface.
It can be the virtual network’s name.
Make sure your virtual network is in the same resource group as NIC when you give only the name.
It can be the virtual network’s resource id.
It can be a dict which contains I(name) and I(resource_group) of the virtual network.
Required when creating.
x509_certificate_pathstringPath to the X509 certificate used to create the service principal in PEM format.
The certificate must be appended to the private key.
Use when authenticating with a Service Principal.

Example

yaml
- name: Create a network interface with minimal parameters
  azure.azcollection.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.azcollection.azure_rm_networkinterface:
    name: nic001
    resource_group: myResourceGroup
    virtual_network: vnet001
    subnet_name: subnet001
    create_with_security_group: false
    ip_configurations:
      - name: ipconfig1
        primary: true

- name: Create a network interface for use in a Windows host (opens RDP port) with custom RDP port
  azure.azcollection.azure_rm_networkinterface:
    name: nic002
    resource_group: myResourceGroup
    virtual_network: vnet001
    subnet_name: subnet001
    os_type: Windows
    rdp_port: 3399
    security_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.azcollection.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.azcollection.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 network interface attached to application gateway backend address pool
  azure.azcollection.azure_rm_networkinterface:
    name: nic-appgw
    resource_group: myResourceGroup
    virtual_network: vnet001
    subnet_name: subnet001
    create_with_security_group: false
    ip_configurations:
      - name: default
        primary: true
        application_gateway_backend_address_pools:
          - name: myApplicationGatewayBackendAddressPool
            application_gateway: myApplicationGateway

- name: Create a network interface in accelerated networking mode
  azure.azcollection.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.azcollection.azure_rm_networkinterface:
    name: nic001
    resource_group: myResourceGroup
    virtual_network: vnet001
    subnet_name: subnet001
    ip_forwarding: true
    ip_configurations:
      - name: ipconfig1
        public_ip_address_name: publicip001
        primary: true

- name: Create a network interface with dns servers
  azure.azcollection.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.azcollection.azure_rm_networkinterface:
    resource_group: myResourceGroup
    name: nic003
    state: absent
Search
    ↑ ↓ move↵ openesc close