Spec-Zone.ru › Ansible 2.4

route53 - добавление или удаление записей в службе DNS Amazons Route53

Новое в версии 1.3.

  • Описание
  • Требования (для хоста, на котором выполняется модуль)
  • Параметры
  • Примеры
  • Примечания
    • Статус

Описание

  • Создаёт и удаляет записи DNS в службе DNS Amazons Route53

Требования (для хоста, на котором выполняется модуль)

  • python >= 2.6
  • boto

Параметры

параметр обязателен по умолчанию выбор комментарии
alias
(добавлен в 1.9)
нет
  • True
  • False
Указывает, является ли это записью alias.
alias_evaluate_target_health
(добавлен в 2.1)
нет
Оценивать состояние здоровья целевого узла alias. Полезно для alias-записей на Elastic Load Balancers.
alias_hosted_zone_id
(добавлен в 1.9)
нет
Идентификатор зонированной области.
aws_access_key
нет
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.
псевдонимы: ec2_access_key, access_key
aws_secret_key
нет
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.
псевдонимы: ec2_secret_key, secret_key
ec2_url
нет
URL для подключения к EC2 или вашей облачной платформе Eucalyptus (по умолчанию модуль использует конечные точки EC2). Игнорируется для модулей, где регион обязателен. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое имеется.
failover
(добавлен в 2.0)
нет
Только для записей наборов ресурсов failover. Определяет, является ли это первичной или вторичной записью набора ресурсов. Допустимые значения: PRIMARY и SECONDARY
health_check
(добавлен в 2.0)
нет
Проверка состояния, которую нужно связать с этой записью
hosted_zone_id
(добавлен в 2.0)
нет
Идентификатор зонированной области DNS-зоны, которую нужно изменить
identifier
(добавлен в 2.0)
нет
Должен быть указан только для наборов ресурсов Weighted, latency-based и failover. Идентификатор, который отличает несколько записей ресурсов с одинаковым сочетанием имени DNS и типа.
overwrite
нет
Перезаписывать ли существующую запись при создании, если значения не совпадают
private_zone
(добавлен в 1.9)
нет
Если установлено в true, будет использоваться частная зона, соответствующая запрошенному имени в домене, если есть как публичная, так и частная зоны. По умолчанию используется публичная зона.
profile
(добавлен в 1.6)
нет
Использует профиль boto. Работает только с boto >= 2.24.0.
record
да
Полная запись DNS для создания или удаления
region
(добавлен в 2.0)
нет
Только для наборов ресурсов latency-based Среди наборов записей ресурсов с одинаковым сочетанием имени DNS и типа, значение, которое определяет, с какой областью эта запись должна быть связана для маршрутизации по принципу задержки.
retry_interval
нет 500
В случае, если Route53 все еще обрабатывает предыдущий запрос, этот модуль будет ждать и снова попробует через указанное количество секунд. Если у вас много доменных имён, значение по умолчанию 500 секунд может быть слишком большим.
security_token
(добавлен в 1.6)
нет
Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.
псевдонимы: access_token
state
да
  • present
  • absent
  • get
  • create
  • delete
Определяет состояние записи ресурса. Начиная с Ansible 2.4, параметр command по умолчанию изменён на state, и добавлены варианты 'present' и 'absent', но command всё ещё работает.
псевдонимы: command
ttl
нет 3600 (один час)
TTL для новой записи
type
да
  • A
  • CNAME
  • MX
  • AAAA
  • TXT
  • PTR
  • SRV
  • SPF
  • NS
  • SOA
Тип записи DNS для создания
validate_certs
(добавлен в 1.5)
нет да
  • да
  • нет
Если установлено в "нет", сертификаты SSL не будут проверяться для версий boto >= 2.6.0.
value
нет
Новое значение при создании записи DNS. Разрешены списки YAML или несколько значений через запятую для записей, не являющихся alias.
При удалении записи все значения для записи должны быть указаны, иначе Route53 не удалит её.
vpc_id
(добавлен в 2.0)
нет
При использовании вместе с private_zone: true, это позволит изменять только записи в частной зонированной области, прикреплённой к этому VPC.
Это позволяет иметь несколько частных зонированных областей с одинаковым именем, прикреплённых к различным VPC.
wait
(добавлен в 2.1)
нет
Ожидание, пока изменения не будут реплицированы на все серверы Amazon Route 53 DNS.
wait_timeout
(добавлен в 2.1)
нет 300
Время ожидания репликации изменений в секундах.
weight
(добавлен в 2.0)
нет
Только для наборов ресурсов Weighted. Среди наборов записей ресурсов с одинаковым сочетанием имени DNS и типа, значение, которое определяет, какая часть трафика для текущего набора записей ресурсов маршрутизируется в связанное местоположение.
zone
да
DNS-зона для изменения

Примеры

# Add new.foo.com as an A record with 3 IPs and wait until the changes have been replicated
- 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

# Update new.foo.com as an A record with a list of 3 IPs and wait until the changes have been replicated
- 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

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

# Delete new.foo.com A record using the results from the get command
- 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.
- route53:
      command: create
      zone: foo.com
      record: localhost.foo.com
      type: AAAA
      ttl: 7200
      value: "::1"

# Add a SRV record with multiple fields for a service on port 22222
# For more information on SRV records see:
# https://en.wikipedia.org/wiki/SRV_record
- 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"

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

# Add an alias record that points to an Amazon ELB:
- 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 }}"

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

# Delete an alias record using the results from the get command
- 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 }}"

# Add an alias record that points to an Amazon ELB and evaluates it health:
- 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

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

# Use a routing policy to distribute traffic:
- 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"

Примечания

Примечание

  • Если параметры не заданы в модуле, можно использовать следующие переменные окружения в порядке убывания приоритета AWS_URL или EC2_URL, 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
  • Ansible использует файл конфигурации boto (обычно ~/.boto), если учредительные данные не предоставлены. См. http://boto.readthedocs.org/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно используются для указания AWS-региона, когда это необходимо, но это также можно настроить в файле конфигурации boto

Статус

Этот модуль помечен как stableinterface, что означает, что авторы модуля гарантируют, что не будут вноситься несовместимые с обратной совместимостью изменения интерфейса.

Для получения помощи в разработке модулей, если вы заинтересованы в этом, пожалуйста, ознакомьтесь с Информация о сообществе и внесение вклада, Тестирование Ansible и Разработка модулей.

© 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/route53_module.html

Spec-Zone.ru

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