Модуль google.cloud.gcp_compute_address — создание адреса GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для работы с этим модулем потребуются дополнительные компоненты. Подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_compute_address.
Краткое описание
- Представляет ресурс адреса.
- У каждого экземпляра виртуальной машины есть временный внутренний IP-адрес и, при необходимости, внешний IP-адрес. Для связи между экземплярами в одной сети можно использовать внутренний IP-адрес экземпляра. Для связи с Интернетом и экземплярами за пределами этой сети необходимо указать внешний IP-адрес экземпляра.
- Внутренние IP-адреса являются временными и принадлежат экземпляру только в течение всего срока его существования; если экземпляр удалить и создать заново, ему будет назначен новый внутренний IP-адрес — Compute Engine или вы назначите его самостоятельно. Внешние IP-адреса могут быть временными или статическими.
Требования
На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен доступа OAuth2, если в качестве типа учетных данных выбран accesstoken. |
address string | Статический внешний IP-адрес, представленный этим ресурсом. Поддерживается только IPv4. Адрес можно указать только для типов адресов INTERNAL. IP-адрес должен находиться в указанной подсети, если она задана. |
address_type string | Тип резервируемого адреса. Допустимые значения: “INTERNAL”, “EXTERNAL” По умолчанию: |
auth_kind string / обязательный | Тип используемых учетных данных. Допустимые значения:
|
description string | Необязательное описание этого ресурса. |
env_type string | Указывает, в какой среде Ansible выполняется этот модуль. Не задавайте этот параметр, если не знаете, что делаете. Он влияет только на строку User Agent в запросах к API. |
name string / обязательный | Имя ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, оно должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной латинской буквой, а все последующие — дефисом, строчной латинской буквой или цифрой, за исключением последнего символа, который не может быть дефисом. |
network dictionary | URL сети, в которой нужно зарезервировать адрес. Это поле можно использовать только с типом INTERNAL и назначениями VPC_PEERING и IPSEC_INTERCONNECT. Это поле содержит ссылку на ресурс Network в GCP. Ее можно указать двумя способами. Во-первых, можно передать словарь с ключом ‘selfLink’ и значением selfLink ресурса. Кроме того, можно добавить `register: name-of-resource` в задачу gcp_compute_network, а затем присвоить этому полю network значение “{{ name-of-resource }}” |
network_tier string | Уровень сети, используемый для настройки этого адреса. Если это поле не задано, предполагается значение PREMIUM. Допустимые значения: “PREMIUM”, “STANDARD” |
prefix_length integer | Длина префикса, если ресурс представляет диапазон IP-адресов. |
project string | Проект Google Cloud Platform, который следует использовать. |
purpose string | Назначение этого ресурса. Возможны следующие значения: * GCE_ENDPOINT — для адресов, используемых экземплярами виртуальных машин, диапазонами псевдонимов IP, внутренними балансировщиками нагрузки и аналогичными ресурсами. * SHARED_LOADBALANCER_VIP — для адреса, который могут использовать несколько внутренних балансировщиков нагрузки. * VPC_PEERING — для адресов, зарезервированных для пиринговых сетей VPC. * IPSEC_INTERCONNECT — для адресов, созданных из частного диапазона IP-адресов и зарезервированных для подключения VLAN в конфигурации Cloud Interconnect с шифрованием IPsec. Эти адреса являются региональными ресурсами. Это поле следует задавать только при использовании внутреннего адреса. |
region string / обязательный | URL региона, в котором находится региональный адрес. Это поле неприменимо к глобальным адресам. |
scopes list / elements=string | Массив используемых областей доступа |
service_account_contents jsonarg | Содержимое JSON-файла учетной записи службы в виде словаря или JSON-строки, представляющей его. |
service_account_email string | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. |
service_account_file path | Путь к JSON-файлу учетной записи службы, если в качестве типа выбрано serviceaccount. |
state string | Должен ли указанный объект существовать в GCP Допустимые значения:
|
subnetwork dictionary | URL подсети, в которой нужно зарезервировать адрес. Если указан IP-адрес, он должен входить в диапазон IP-адресов подсети. Это поле можно использовать только с типом INTERNAL и назначениями GCE_ENDPOINT/DNS_RESOLVER. Это поле содержит ссылку на ресурс Subnetwork в GCP. Ее можно указать двумя способами. Во-первых, можно передать словарь с ключом ‘selfLink’ и значением selfLink ресурса. Кроме того, можно добавить `register: name-of-resource` в задачу gcp_compute_subnetwork, а затем присвоить этому полю subnetwork значение “{{ name-of-resource }}” |
Примечания
Примечание
- Справочник API: https://cloud.google.com/compute/docs/reference/beta/addresses
- Резервирование статического внешнего IP-адреса: https://cloud.google.com/compute/docs/instances-and-network
- Резервирование статического внутреннего IP-адреса: https://cloud.google.com/compute/docs/ip-addresses/reserve-static-internal-ip-address
- Для аутентификации можно задать service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно задать service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно задать service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно задать access_token с помощью переменной среды
GCP_ACCESS_TOKEN. - Для аутентификации можно задать auth_kind с помощью переменной среды
GCP_AUTH_KIND. - Для аутентификации можно задать scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в плейбуке не заданы.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: create a address
google.cloud.gcp_compute_address:
name: test-address1
region: us-west1
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
address string | Статический внешний IP-адрес, представленный этим ресурсом. Поддерживается только IPv4. Адрес можно указать только для типов адресов INTERNAL. IP-адрес должен находиться в указанной подсети, если она задана. Возвращается: при успешном выполнении |
addressType string | Тип резервируемого адреса. Возвращается: при успешном выполнении |
creationTimestamp string | Время создания в текстовом формате RFC3339. Возвращается: при успешном выполнении |
description string | Необязательное описание этого ресурса. Возвращается: при успешном выполнении |
id integer | Уникальный идентификатор ресурса. Возвращается: при успешном выполнении |
name string | Имя ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, оно должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной латинской буквой, а все последующие — дефисом, строчной латинской буквой или цифрой, за исключением последнего символа, который не может быть дефисом. Возвращается: при успешном выполнении |
network dictionary | URL сети, в которой нужно зарезервировать адрес. Это поле можно использовать только с типом INTERNAL и назначениями VPC_PEERING и IPSEC_INTERCONNECT. Возвращается: при успешном выполнении |
networkTier string | Уровень сети, используемый для настройки этого адреса. Если это поле не задано, предполагается значение PREMIUM. Возвращается: при успешном выполнении |
prefixLength integer | Длина префикса, если ресурс представляет диапазон IP-адресов. Возвращается: при успешном выполнении |
purpose string | Назначение этого ресурса. Возможны следующие значения: * GCE_ENDPOINT — для адресов, используемых экземплярами виртуальных машин, диапазонами псевдонимов IP, внутренними балансировщиками нагрузки и аналогичными ресурсами. * SHARED_LOADBALANCER_VIP — для адреса, который могут использовать несколько внутренних балансировщиков нагрузки. * VPC_PEERING — для адресов, зарезервированных для пиринговых сетей VPC. * IPSEC_INTERCONNECT — для адресов, созданных из частного диапазона IP-адресов и зарезервированных для подключения VLAN в конфигурации Cloud Interconnect с шифрованием IPsec. Эти адреса являются региональными ресурсами. Это поле следует задавать только при использовании внутреннего адреса. Возвращается: при успешном выполнении |
region string | URL региона, в котором находится региональный адрес. Это поле неприменимо к глобальным адресам. Возвращается: при успешном выполнении |
status string | Состояние адреса: RESERVING, RESERVED или IN_USE. Адрес в состоянии RESERVING в данный момент резервируется. Адрес в состоянии RESERVED зарезервирован и доступен для использования. Адрес в состоянии IN_USE используется другим ресурсом и недоступен. Возвращается: при успешном выполнении |
subnetwork dictionary | URL подсети, в которой нужно зарезервировать адрес. Если указан IP-адрес, он должен входить в диапазон IP-адресов подсети. Это поле можно использовать только с типом INTERNAL и назначениями GCE_ENDPOINT/DNS_RESOLVER. Возвращается: при успешном выполнении |
users list / elements=string | URL ресурсов, использующих этот адрес. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_compute_address_module.html