On this page
azure_rm_dnsrecordset - Create, delete and update DNS record sets and records.
New in version 2.4.
Synopsis
- Creates, deletes, and updates DNS records sets and records within an existing Azure DNS Zone.
 
Requirements (on host that executes module)
- python >= 2.7
 - azure >= 2.0.0
 
Options
| parameter | required | default | choices | comments | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ad_user | 
      no | 
        
        Active Directory username. Use when authenticating with an Active Directory user rather than service principal.
         | 
     ||||||||||||||||||||||||||||||||
| client_id | 
      no | 
        
        Azure client ID. Use when authenticating with a Service Principal.
         | 
     ||||||||||||||||||||||||||||||||
| cloud_environment | 
      no | AzureCloud | 
        
        For cloud environments other than the US public cloud, the environment name (as defined by Azure Python SDK, eg,  AzureChinaCloud, AzureUSGovernment), or a metadata discovery endpoint URL (required for Azure Stack). Can also be set via credential file profile or the AZURE_CLOUD_ENVIRONMENT environment variable.
        | 
     |||||||||||||||||||||||||||||||
| password | 
      no | 
        
        Active Directory user password. Use when authenticating with an Active Directory user rather than service principal.
         | 
     ||||||||||||||||||||||||||||||||
| profile | 
      no | 
        
        Security profile found in ~/.azure/credentials file.
         | 
     ||||||||||||||||||||||||||||||||
| record_mode | 
      no | purge | 
       
  | 
      
        
        whether existing record values not sent to the module should be purged
         | 
     ||||||||||||||||||||||||||||||
| record_type | 
      yes | 
       
  | 
      
        
        the type of record set to create or delete
         | 
     |||||||||||||||||||||||||||||||
| records | 
      no | 
        
        list of records to be created depending on the type of record (set)
         | 
     ||||||||||||||||||||||||||||||||
       
  | 
     ||||||||||||||||||||||||||||||||||
| relative_name | 
      yes | 
        
        relative name of the record set
         | 
     ||||||||||||||||||||||||||||||||
| resource_group | 
      yes | 
        
        name of resource group
         | 
     ||||||||||||||||||||||||||||||||
| secret | 
      no | 
        
        Azure client secret. Use when authenticating with a Service Principal.
         | 
     ||||||||||||||||||||||||||||||||
| state | 
      no | present | 
       
  | 
      
        
        Assert the state of the record set. Use 'present' to create or update and 'absent' to delete.
         | 
     ||||||||||||||||||||||||||||||
| subscription_id | 
      no | 
        
        Your Azure subscription Id.
         | 
     ||||||||||||||||||||||||||||||||
| tenant | 
      no | 
        
        Azure tenant ID. Use when authenticating with a Service Principal.
         | 
     ||||||||||||||||||||||||||||||||
| time_to_live | 
      no | 3600 | 
        
        time to live of the record set in seconds
         | 
     |||||||||||||||||||||||||||||||
| zone_name | 
      yes | 
        
        name of the existing DNS zone in which to manage the record set
         | 
     ||||||||||||||||||||||||||||||||
Examples
- name: ensure an "A" record set with multiple records
  azure_rm_dnsrecordset:
    resource_group: Testing
    relative_name: www
    zone_name: testing.com
    record_type: A
    state: present
    records:
      - entry: 192.168.100.101
      - entry: 192.168.100.102
      - entry: 192.168.100.103
- name: delete a record set
  azure_rm_dnsrecordset:
    resource_group: Testing
    record_type: A
    relative_name: www
    zone_name: testing.com
    state: absent
- name: create multiple "A" record sets with multiple records
  azure_rm_dnsrecordset:
    resource_group: Testing
    zone_name: testing.com
    state: present
    relative_name: "{{ item.name }}"
    record_type: "{{ item.type }}"
    records: "{{ item.records }}"
  with_items:
    - { name: 'servera', type: 'A', records: [ { entry: '10.10.10.20' }, { entry: '10.10.10.21' }] }
    - { name: 'serverb', type: 'A', records: [ { entry: '10.10.10.30' }, { entry: '10.10.10.41' }] }
    - { name: 'serverc', type: 'A', records: [ { entry: '10.10.10.40' }, { entry: '10.10.10.41' }] }
- name: create SRV records in a new record set
  azure_rm_dnsrecordset:
    resource_group: Testing
    relative_name: _sip._tcp.testing.com
    zone_name: testing.com
    time_to_live: 7200
    record_type: SRV
    state: present
    records:
    - entry: sip.testing.com
      preference: 10
      priority: 20
      weight: 10
      port: 5060
- name: create PTR record in a new record set
  azure_rm_dnsrecordset:
    resource_group: Testing
    relative_name: 192.168.100.101.in-addr.arpa
    zone_name: testing.com
    record_type: PTR
    records:
    - entry: servera.testing.com
- name: create TXT record in a new record set
  azure_rm_dnsrecordset:
    resource_group: Testing
    relative_name: mail.testing.com
    zone_name: testing.com
    record_type: TXT
    records:
    - entry: 'v=spf1 a -all'
  Notes
Note
- For authentication with Azure you can pass parameters, set environment variables or use a profile stored in ~/.azure/credentials. Authentication is possible using a service principal or Active Directory user. To authenticate via service principal, pass subscription_id, client_id, secret and tenant or set environment variables AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET and AZURE_TENANT.
 - To authenticate via Active Directory user, pass ad_user and password, or set AZURE_AD_USER and AZURE_PASSWORD in the environment.
 - Alternatively, credentials can be stored in ~/.azure/credentials. This is an ini file containing a [default] section and the following keys: subscription_id, client_id, secret and tenant or subscription_id, ad_user and password. It is also possible to add additional profiles. Specify the profile by passing profile or setting AZURE_PROFILE in the environment.
 
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
 https://docs.ansible.com/ansible/2.4/azure_rm_dnsrecordset_module.html