gcp_compute_subnetwork – Создаёт подсеть GCP
Новая версия с 2.6.
Описание
- Сеть VPC — виртуальная версия традиционных физических сетей, существующих внутри и между физическими центрами обработки данных. Сеть VPC обеспечивает подключение для виртуальных машин (ВМ) Compute Engine, контейнеров Container Engine, служб App Engine Flex и других сетевых ресурсов.
- Каждый проект GCP содержит одну или несколько сетей VPC. Каждая сеть VPC — глобальный объект, охватывающий все регионы GCP. Эта глобальная сеть VPC позволяет ВМ и другим ресурсам обмениваться данными друг с другом с помощью внутренних, частных IP-адресов.
- Каждая сеть VPC подразделяется на подсети, и каждая подсеть содержится в одном регионе. В одном регионе для заданной сети VPC может быть более одной подсети. Каждая подсеть имеет непрерывное частное пространство IP-адресов RFC1918. В этих подсетях создаются виртуальные машины, контейнеры и т.п.
- При создании виртуальной машины (ВМ) она должна быть создана в подсети, и ВМ получает свой внутренний IP-адрес из этой подсети.
- Виртуальные машины (ВМ) в сети VPC могут обмениваться данными с ВМ во всех других подсетях той же сети VPC, независимо от региона, используя свои частные IP-адреса RFC1918. Вы можете изолировать части сети, даже целые подсети, с помощью правил брандмауэра.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |
| description строка | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. Это поле можно установить только при создании ресурса. | ||
| enable_flow_logs логический тип добавлен в 2.8 |
| Включить или нет логирование потоков для этой подсети. | |
| env_type строка | Указывает, в какой среде Ansible вы запускаете этот модуль. Не нужно устанавливать, если вы не знаете, что делаете. Это изменяет только строку User-Agent для всех запросов API. | ||
| ip_cidr_range строка / обязательно | Диапазон внутренних адресов, принадлежащих этой подсети. Укажите это свойство при создании подсети. Например, 10.0.0.0/8 или 192.168.0.0/16. Диапазоны должны быть уникальными и не перекрываться в рамках сети. Поддерживается только IPv4. | ||
| name строка / обязательно | Имя ресурса, предоставленное клиентом при первоначальном создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. | ||
| network словарь / обязательно | Сеть, к которой принадлежит эта подсеть. Только сети в распределенном режиме могут иметь подсети. Это поле представляет ссылку на ресурс сети GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задачу gcp_compute_network, а затем установить это поле сети на "{{ имя-ресурса }}" | ||
| private_ip_google_access логический тип |
| При включении ВМ в этой подсети без внешних IP-адресов могут получать доступ к службам и API Google с помощью Private Google Access. | |
| project строка | Проект Google Cloud Platform, который необходимо использовать. | ||
| region строка / обязательно | URL региона GCP для этой подсети. | ||
| scopes список | Массив используемых областей. | ||
| secondary_ip_ranges список добавлен в 2.8 | Массив конфигураций для вторичных диапазонов IP-адресов для виртуальных машин, содержащихся в этой подсети. Основной IP таких ВМ должен принадлежать основному ipCidrRange подсети. Alias IP могут принадлежать либо основному, либо вторичному диапазону. | ||
| ip_cidr_range строка / обязательно | Диапазон IP-адресов, принадлежащих вторичному диапазону этой подсети. Укажите это свойство при создании подсети. Диапазоны должны быть уникальными и не перекрываться со всеми первичными и вторичными диапазонами IP-адресов в сети. Поддерживается только IPv4. | ||
| range_name строка / обязательно | Имя, связанное с вторичным диапазоном этой подсети, используемое при добавлении диапазона alias IP к ВМ. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. Имя должно быть уникальным в пределах подсети. | ||
| service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, либо в словаре, либо как строка JSON, представляющая его. | ||
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | ||
| service_account_file путь | Путь к файлу JSON учетной записи службы, если выбран тип serviceaccount. | ||
| state строка |
| Нужно ли существование данного объекта в GCP | |
Примечания
Примечание
- Ссылка на API: https://cloud.google.com/compute/docs/reference/rest/beta/subnetworks
- Private Google Access: https://cloud.google.com/vpc/docs/configure-private-google-access
- Сеть Cloud Networking: https://cloud.google.com/vpc/docs/using-vpc
- для аутентификации можно установить service_account_file с помощью переменной окружения c(gcp_service_account_file).
- для аутентификации можно установить service_account_contents с помощью переменной окружения c(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 network
gcp_compute_network:
name: network-subnetwork
auto_create_subnetworks: 'true'
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: network
- name: create a subnetwork
gcp_compute_subnetwork:
name: ansiblenet
region: us-west1
network: "{{ network }}"
ip_cidr_range: 172.16.0.0/16
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| creationTimestamp строка | success | Маркер времени создания в формате RFC3339. | |
| description строка | success | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. Это поле может быть установлено только во время создания ресурса. | |
| enableFlowLogs булево | success | Включить ли ведение журналов потоков для этой подсети. | |
| fingerprint строка | success | Отпечаток этого ресурса. Это поле используется внутри при обновлении этого ресурса. | |
| gatewayAddress строка | success | Адрес шлюза для маршрутов по умолчанию для достижения адресов назначения за пределами этой подсети. | |
| id целое число | success | Уникальный идентификатор ресурса. | |
| ipCidrRange строка | success | Диапазон внутренних адресов, принадлежащих этой подсети. Укажите это свойство при создании подсети. Например, 10.0.0.0/8 или 192.168.0.0/16. Диапазоны должны быть уникальными и не пересекаться в пределах сети. Поддерживается только IPv4. | |
| name строка | success | Название ресурса, предоставленное клиентом при первоначальном создании ресурса. Название должно быть длиной от 1 до 63 символов и соответствовать RFC1035. Точнее, длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. | |
| network словарь | success | Сеть, к которой принадлежит эта подсеть. Только сети, находящиеся в распределенном режиме, могут иметь подсети. | |
| privateIpGoogleAccess булево | success | При включении виртуальные машины в этой подсети без внешних IP-адресов могут получать доступ к Google API и службам с помощью Private Google Access. | |
| region строка | success | URL региона GCP для этой подсети. | |
| secondaryIpRanges сложный тип | success | Массив конфигураций для вторичных диапазонов IP-адресов для виртуальных машин, содержащихся в этой подсети. Основной IP такой виртуальной машины должен принадлежать основному диапазону ipCidrRange подсети. Alias IP могут принадлежать либо основному, либо вторичному диапазонам. | |
| ipCidrRange строка | success | Диапазон IP-адресов, принадлежащих вторичному диапазону этой подсети. Укажите это свойство при создании подсети. Диапазоны должны быть уникальными и не перекрываться со всеми первичными и вторичными диапазонами IP-адресов в пределах сети. Поддерживается только IPv4. | |
| rangeName строка | success | Название, связанное с этим вторичным диапазоном подсети, используемое при добавлении диапазона alias IP в виртуальную машину. Название должно быть длиной от 1 до 63 символов и соответствовать RFC1035. Название должно быть уникальным в пределах подсети. | |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [preview]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Google Inc. (@googlecloudplatform)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/gcp_compute_subnetwork_module.html