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 |
| Включить или выключить логирование потоков для этой подсети. | |
| 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 - / обязательно | Сеть, к которой принадлежит эта подсеть. Только сети в режиме распределения могут иметь подсети. Это поле представляет ссылку на ресурс Network в GCP. Оно может быть задано двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задачу gcp_compute_network, а затем установить это поле network в "{{ имя-ресурса }}" | ||
| private_ip_google_access булево |
| При включении ВМ в этой подсети без внешних IP-адресов могут получить доступ к Google API и сервисам, используя 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 строка | Строка, представляющая содержимое JSON-файла учетной записи службы. Это не должно передаваться как словарь, а строка, содержащая точное содержимое файла 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
- Сеть облака: https://cloud.google.com/vpc/docs/using-vpc
- Для аутентификации можно установить service_account_file, используя переменную среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно установить service_account_email, используя переменную среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно установить service_account_contents, используя переменную среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно установить auth_kind, используя переменную среды
GCP_AUTH_KIND. - Для аутентификации можно установить scopes, используя переменную среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в playбуке не заданы.
- Параметры 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 строка | успешно | Маркер времени создания в формате RFC3339. | |
| description строка | успешно | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. Это поле можно установить только во время создания ресурса. | |
| enableFlowLogs булево | успешно | Включить ли ведение журнала потоков для этой подсети. | |
| fingerprint строка | успешно | Отпечаток этого ресурса. Это поле используется во внутренних процессах при обновлении этого ресурса. | |
| gatewayAddress строка | успешно | Адрес шлюза для маршрутов по умолчанию, чтобы достичь адресов назначения за пределами этой подсети. | |
| id целое число | успешно | Уникальный идентификатор ресурса. | |
| ipCidrRange строка | успешно | Диапазон внутренних адресов, принадлежащих этой подсети. Укажите это свойство при создании подсети. Например, 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 словарь | успешно | Сеть, к которой принадлежит эта подсеть. Только сети в распределённом режиме могут иметь подсети. | |
| privateIpGoogleAccess булево | успешно | При включении ВМ в этой подсети без внешних IP-адресов могут получить доступ к Google API и сервисам с помощью Private Google Access. | |
| region строка | успешно | URL региона GCP для этой подсети. | |
| secondaryIpRanges сложный | успешно | Массив конфигураций для вторичных диапазонов IP-адресов для ВМ, содержащихся в этой подсети. Основной IP такой ВМ должен принадлежать основному диапазону ipCidrRange подсети. Адреса псевдонимов могут принадлежать либо основному, либо вторичному диапазону. | |
| ipCidrRange строка | успешно | Диапазон IP-адресов, принадлежащих вторичному диапазону этой подсети. Укажите это свойство при создании подсети. Диапазоны должны быть уникальными и не пересекаться со всеми основными и вторичными диапазонами IP-адресов в рамках сети. Поддерживается только IPv4. | |
| rangeName строка | успешно | Имя, связанное с этим вторичным диапазоном подсети, используемое при добавлении диапазона адресов псевдонимов для ВМ. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. Имя должно быть уникальным в пределах подсети. | |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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.8/modules/gcp_compute_subnetwork_module.html