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