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