Spec-Zone.ru › Ansible 2.10

community.aws.route53 – добавление или удаление записей в службе DNS Amazon Route 53

Примечание

Этот плагин является частью коллекции community.aws (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.aws.

Для использования в playbook, укажите: community.aws.route53.

Новое в версии 1.0.0: community.aws

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Создает и удаляет записи DNS в службе Amazon Route 53.

Требования

Ниже указаны требования, необходимые на хосте, который выполняет этот модуль.

  • python >= 2.6
  • boto

Параметры

Parameter Choices/Defaults Comments
alias
boolean
    Choices:
  • нет
  • да
Указывает, является ли это записью псевдонима.
По умолчанию false.
alias_evaluate_target_health
boolean
    Choices:
  • нет ←
  • да
Необходимо ли оценивать состояние целевого объекта псевдонима. Полезно для псевдонимов для Elastic Load Balancers.
alias_hosted_zone_id
string
Идентификатор зоны размещения.
aws_access_key
string
Секретный ключ доступа AWS. Если не установлен, используется значение переменной среды AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.
Если установлен параметр profile, этот параметр игнорируется.
Передача параметров aws_access_key и profile одновременно устарела, и параметры будут сделаны взаимоисключающими после 2022-06-01.

aliases: ec2_access_key, access_key
aws_ca_bundle
path
Расположение пакета CA, используемого при проверке сертификатов SSL.
Используется только для модулей на основе boto3.
Примечание: Пакет CA считывается на стороне «модуля» и может потребоваться явное копирование с контроллера, если он не запущен локально.
aws_config
dictionary
Словарь для изменения конфигурации botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Только ключ 'user_agent' используется для модулей boto. См. http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto для получения дополнительной информации о конфигурации boto.
aws_secret_key
string
Секретный ключ AWS. Если не установлен, используется значение переменной среды AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.
Если установлен параметр profile, этот параметр игнорируется.
Передача параметров aws_secret_key и profile одновременно устарела, и параметры будут сделаны взаимоисключающими после 2022-06-01.

aliases: ec2_secret_key, secret_key
debug_botocore_endpoint_logs
boolean
    Choices:
  • нет ←
  • да
Использовать регистратор botocore.endpoint для анализа уникальных (а не общих) вызовов API "resource:action", сделанных во время задачи, выводя набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, сделанный во время работы playbook. Может также использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS.
ec2_url
string
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех других модулей, если регион не используется. Если не установлен, используется значение переменной среды EC2_URL (если есть).

aliases: aws_endpoint_url, endpoint_url
failover
string
    Choices:
  • SECONDARY
  • PRIMARY
Только наборы записей ресурсов отработки отказа. Является ли это первичным или вторичным набором записей ресурсов. Допустимые значения — PRIMARY и SECONDARY
health_check
string
Проверка работоспособности для ассоциации с этой записью
hosted_zone_id
string
Идентификатор зоны размещения DNS-зоны для изменения.
Это обязательный параметр, если параметр zone не указан.
identifier
string
Должен быть указан только для взвешенных, основанных на задержке и наборов записей ресурсов отработки отказа. Идентификатор, который отличает несколько наборов записей ресурсов, имеющих одинаковую комбинацию имени DNS и типа.
overwrite
boolean
    Choices:
  • нет
  • да
Следует ли перезаписывать существующую запись при создании, если значения не совпадают.
private_zone
boolean
    Choices:
  • нет ←
  • да
Если установлено в true, будет использоваться частная зона, соответствующая запрошенному имени в домене, если есть как общедоступные, так и частные зоны.
По умолчанию используется общедоступная зона.
profile
string
Использует профиль boto. Работает только с boto >= 2.24.0.
Использование profile переопределит aws_access_key, aws_secret_key и security_token, и поддержка их передачи одновременно с profile устарела.
aws_access_key, aws_secret_key и security_token будут сделаны взаимоисключающими с profile после 2022-06-01.

aliases: aws_profile
record
string / required
Полная DNS-запись для создания или удаления.
region
string
Только наборы записей ресурсов на основе задержки. Среди наборов записей ресурсов, имеющих одинаковую комбинацию имени DNS и типа, значение, определяющее, с каким регионом это следует связать для маршрутизации на основе задержки.
retry_interval
integer
Default:
500
В случае, если Route 53 все еще обслуживает предыдущий запрос, этот модуль будет ждать и попытается снова через столько секунд. Если у вас много доменных имен, значение по умолчанию 500 секунд может быть слишком большим.
security_token
string
Маркер безопасности AWS STS. Если не установлен, используется значение переменной среды AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
Если установлен параметр profile, этот параметр игнорируется.
Передача параметров security_token и profile одновременно устарела, и параметры будут сделаны взаимоисключающими после 2022-06-01.

aliases: aws_security_token, access_token
state
string / required
    Choices:
  • present
  • absent
  • get
  • create
  • delete
Задает состояние записи ресурса. Начиная с Ansible 2.4, параметр command изменен на state по умолчанию, и добавлены варианты present и absent, но command также работает.

aliases: command
ttl
integer
Default:
3600
Время жизни (TTL), в секундах, для новой записи.
type
string / required
    Choices:
  • A
  • CNAME
  • MX
  • AAAA
  • TXT
  • PTR
  • SRV
  • SPF
  • CAA
  • NS
  • SOA
Тип DNS-записи для создания.
validate_certs
boolean
    Choices:
  • нет
  • да ←
При значении «нет» сертификаты SSL не будут проверяться для версий boto >= 2.6.0.
value
list / elements=string
Новое значение при создании DNS-записи. Допускаются списки YAML или несколько значений, разделенных запятыми, для записей, не являющихся псевдонимами.
При удалении записи должны быть указаны все значения для записи, иначе Route 53 не удалит ее.
vpc_id
string
При использовании вместе с private_zone: true, это будет изменять только записи в частной зоне размещения, присоединенной к этой VPC.
Это позволяет иметь несколько частных зон размещения с одинаковым именем, присоединенных к разным VPC.
wait
boolean
    Choices:
  • нет ←
  • да
Дождитесь, пока изменения не будут реплицированы на все DNS-серверы Amazon Route 53.
wait_timeout
integer
Default:
300
Сколько ждать репликации изменений, в секундах.
weight
integer
Только взвешенные наборы записей ресурсов. Среди наборов записей ресурсов, имеющих одинаковую комбинацию имени DNS и типа, значение, определяющее, какая часть трафика для текущего набора записей ресурсов направляется в связанное местоположение.
zone
string
DNS-зона для изменения.
Это обязательный параметр, если параметр hosted_zone_id не указан.

Примечания

Примечание

  • Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета AWS_URL или EC2_URL, AWS_PROFILE или AWS_DEFAULT_PROFILE, AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY или EC2_ACCESS_KEY, AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY или EC2_SECRET_KEY, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN, AWS_REGION или EC2_REGION, AWS_CA_BUNDLE
  • Ansible использует конфигурационный файл boto (обычно ~/.boto), если не предоставлены учетные данные. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно можно использовать для указания региона AWS, если это необходимо, но это также можно настроить в конфигурационном файле boto

Примеры

- name: Add new.foo.com as an A record with 3 IPs and wait until the changes have been replicated
  community.aws.route53:
    state: present
    zone: foo.com
    record: new.foo.com
    type: A
    ttl: 7200
    value: 1.1.1.1,2.2.2.2,3.3.3.3
    wait: yes

- name: Update new.foo.com as an A record with a list of 3 IPs and wait until the changes have been replicated
  community.aws.route53:
    state: present
    zone: foo.com
    record: new.foo.com
    type: A
    ttl: 7200
    value:
      - 1.1.1.1
      - 2.2.2.2
      - 3.3.3.3
    wait: yes

- name: Retrieve the details for new.foo.com
  community.aws.route53:
    state: get
    zone: foo.com
    record: new.foo.com
    type: A
  register: rec

- name: Delete new.foo.com A record using the results from the get command
  community.aws.route53:
    state: absent
    zone: foo.com
    record: "{{ rec.set.record }}"
    ttl: "{{ rec.set.ttl }}"
    type: "{{ rec.set.type }}"
    value: "{{ rec.set.value }}"

# Add an AAAA record.  Note that because there are colons in the value
# that the IPv6 address must be quoted. Also shows using the old form command=create.
- name: Add an AAAA record
  community.aws.route53:
    command: create
    zone: foo.com
    record: localhost.foo.com
    type: AAAA
    ttl: 7200
    value: "::1"

# For more information on SRV records see:
# https://en.wikipedia.org/wiki/SRV_record
- name: Add a SRV record with multiple fields for a service on port 22222
  community.aws.route53:
    state: present
    zone: foo.com
    record: "_example-service._tcp.foo.com"
    type: SRV
    value: "0 0 22222 host1.foo.com,0 0 22222 host2.foo.com"

# Note that TXT and SPF records must be surrounded
# by quotes when sent to Route 53:
- name: Add a TXT record.
  community.aws.route53:
    state: present
    zone: foo.com
    record: localhost.foo.com
    type: TXT
    ttl: 7200
    value: '"bar"'

- name: Add an alias record that points to an Amazon ELB
  community.aws.route53:
    state: present
    zone: foo.com
    record: elb.foo.com
    type: A
    value: "{{ elb_dns_name }}"
    alias: True
    alias_hosted_zone_id: "{{ elb_zone_id }}"

- name: Retrieve the details for elb.foo.com
  community.aws.route53:
    state: get
    zone: foo.com
    record: elb.foo.com
    type: A
  register: rec

- name: Delete an alias record using the results from the get command
  community.aws.route53:
    state: absent
    zone: foo.com
    record: "{{ rec.set.record }}"
    ttl: "{{ rec.set.ttl }}"
    type: "{{ rec.set.type }}"
    value: "{{ rec.set.value }}"
    alias: True
    alias_hosted_zone_id: "{{ rec.set.alias_hosted_zone_id }}"

- name: Add an alias record that points to an Amazon ELB and evaluates it health
  community.aws.route53:
    state: present
    zone: foo.com
    record: elb.foo.com
    type: A
    value: "{{ elb_dns_name }}"
    alias: True
    alias_hosted_zone_id: "{{ elb_zone_id }}"
    alias_evaluate_target_health: True

- name: Add an AAAA record with Hosted Zone ID
  community.aws.route53:
    state: present
    zone: foo.com
    hosted_zone_id: Z2AABBCCDDEEFF
    record: localhost.foo.com
    type: AAAA
    ttl: 7200
    value: "::1"

- name: Use a routing policy to distribute traffic
  community.aws.route53:
    state: present
    zone: foo.com
    record: www.foo.com
    type: CNAME
    value: host1.foo.com
    ttl: 30
    # Routing policy
    identifier: "host1@www"
    weight: 100
    health_check: "d994b780-3150-49fd-9205-356abdd42e75"

- name: Add a CAA record (RFC 6844)
  community.aws.route53:
    state: present
    zone: example.com
    record: example.com
    type: CAA
    value:
      - 0 issue "ca.example.net"
      - 0 issuewild ";"
      - 0 iodef "mailto:security@example.com"

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:

Ключ Возвращается Описание
nameservers
список / элементы=строка
когда состояние равно 'get'
Серверы имен, связанные с зоной.

Пример:
['ns-1036.awsdns-00.org.', 'ns-516.awsdns-00.net.', 'ns-1504.awsdns-00.co.uk.', 'ns-1.awsdns-00.com.']
set
сложный
когда состояние равно 'get'
Информация, специфичная для записи ресурса.

alias
логическое
всегда
Является ли это псевдонимом.

failover
строка
всегда
Является ли это первичным или вторичным набором записей ресурсов.

Пример:
PRIMARY
health_check
строка
всегда
health_check, связанный с этой записью.

identifier
строка
всегда
Идентификатор, который различает несколько наборов записей ресурсов, имеющих одинаковую комбинацию имени DNS и типа.

record
строка
всегда
Доменное имя для набора записей.

Пример:
new.foo.com.
region
строка
всегда
С каким регионом это должно быть связано для маршрутизации на основе задержки.

Пример:
us-west-2
ttl
строка
всегда
Время жизни кэша записи ресурса.

Пример:
3600
type
строка
всегда
Тип набора записей ресурсов.

Пример:
A
value
строка
всегда
Значение записи.

Пример:
52.43.18.27
values
список / элементы=строка
всегда
Значения записей.

Пример:
['52.43.18.27']
weight
строка
всегда
Вес записи.

Пример:
3
zone
строка
всегда
Зона, к которой принадлежит этот набор записей.

Пример:
foo.bar.com.


Авторы

  • Bruce Pennypacker (@bpennypacker)
  • Mike Buzzetti (@jimbydamonk)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/aws/route53_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API