google.cloud.gcp_compute_address – Создаёт адрес GCP
Примечание
Этот плагин входит в состав коллекции google.cloud (версия 1.0.2).
Для его установки используйте: 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
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| address строка | Статический внешний IP-адрес, представленный этим ресурсом. Поддерживается только IPv4. Адрес может быть указан только для адресов типа INTERNAL. IP-адрес должен находиться в указанной подсети, если таковая имеется. | |
| address_type строка | По умолчанию: "EXTERNAL" | Тип адреса для резервирования. Некоторые допустимые значения: "INTERNAL", "EXTERNAL" |
| auth_kind строка / обязательно |
| Тип используемых учетных данных. |
| description строка | Необязательное описание этого ресурса. | |
| env_type строка | Указывает, в какой среде Ansible вы выполняете этот модуль. Это не следует устанавливать, если вы не знаете, что делаете. Это изменяет только строку User Agent для всех запросов API. | |
| name строка / обязательно | Имя ресурса. Длина имени должна составлять 1-63 символа и соответствовать RFC1035. То есть длина имени должна быть 1-63 символа и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. | |
| network_tier строка | Уровень сети, используемый для настройки этого адреса. Если этот параметр не указан, предполагается, что он равен PREMIUM. Некоторые допустимые значения: "PREMIUM", "STANDARD" | |
| project строка | Проект Google Cloud Platform для использования. | |
| purpose строка | Назначение этого ресурса, которое может принимать одно из следующих значений: * GCE_ENDPOINT для адресов, которые используются виртуальными машинами, псевдонимами IP-диапазонов, внутренними балансировщиками и подобными ресурсами. * SHARED_LOADBALANCER_VIP для адреса, который может использоваться несколькими внутренними балансировщиками. * VPC_PEERING для адресов, которые зарезервированы для сетей VPC peer. Это нужно задавать только при использовании внутреннего адреса. Некоторые допустимые значения: "GCE_ENDPOINT", "VPC_PEERING", "SHARED_LOADBALANCER_VIP" | |
| region строка / обязательно | URL региона, в котором находится региональный адрес. Этот параметр не применяется к глобальным адресам. | |
| scopes список / элементы=строка | Массив используемых областей | |
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, либо в словаре, либо как строка JSON, его представляющая. | |
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | |
| service_account_file путь | Путь к файлу JSON учетной записи службы, если выбран тип serviceaccount. | |
| state строка |
| Указывает, должен ли данный объект существовать в GCP |
| subnetwork словарь | URL подсети, в которой нужно зарезервировать адрес. Если указан IP-адрес, он должен находиться в диапазоне IP-адресов подсети. Этот параметр может использоваться только с типом INTERNAL с целями GCE_ENDPOINT/DNS_RESOLVER. Этот параметр представляет ссылку на ресурс Subnetwork в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя-ресурса` к задаче gcp_compute_subnetwork, а затем установить этот параметр subnetwork в "{{ имя-ресурса }}" |
Примечания
Примечание
- Ссылка на 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. - для аутентификации можно установить 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])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. |
| networkTier string | успех | Уровень сети, используемый для конфигурации этого адреса. Если этот параметр не указан, предполагается, что он PREMIUM. |
| purpose string | успех | Назначение этого ресурса, которое может быть одним из следующих значений: * GCE_ENDPOINT для адресов, используемых экземплярами VM, диапазонами алиасов IP, внутренними балансировщиками и аналогичными ресурсами. * SHARED_LOADBALANCER_VIP для адреса, который может использоваться несколькими внутренними балансировщиками. * VPC_PEERING для адресов, зарезервированных для сетей VPC-туннелирования. Это значение должно быть установлено только при использовании внутреннего адреса. |
| 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 ресурсов, которые используют этот адрес. |
Авторы
- Google Inc. (@googlecloudplatform)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/google/cloud/gcp_compute_address_module.html