gcp_compute_url_map – Создаёт GCP UrlMap
Новая версия с 2.6.
Обзор
- UrlMaps используются для перенаправления запросов на службу обратного вызова на основе правил, определённых для хоста и пути входящего URL.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | ||
| default_service словарь / обязательно | Ссылка на ресурс BackendService, если ни одно из правил хоста не соответствует. Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задачу gcp_compute_backend_service, а затем установить это поле default_service в "{{ имя-ресурса }}" | |||
| description строка | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | |||
| env_type строка | Указывает, в какой среде Ansible вы выполняете этот модуль. Это не нужно устанавливать, если вы не знаете, что делаете. Это изменяет только строку User Agent для любых запросов к API. | |||
| host_rules список | Список HostRules для использования с URL. | |||
| description строка | Необязательное описание этого HostRule. Укажите это свойство при создании ресурса. | |||
| hosts список / обязательно | Список шаблонов хостов для сопоставления. Они должны быть допустимыми именами хостов, за исключением *, которое будет соответствовать любой строке ([a-z0-9-.]*). В этом случае * должен быть первым символом и должен следовать за ним либо - либо . | |||
| path_matcher строка / обязательно | Имя PathMatcher для использования для сопоставления пути URL, если hostRule соответствует хосту URL. | |||
| name строка / обязательно | Имя ресурса. Предоставляется клиентом при создании ресурса. Длина имени должна составлять от 1 до 63 символов и соответствовать RFC1035. То есть, длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. | |||
| path_matchers список | Список именованных PathMatchers для использования с URL. | |||
| default_service словарь / обязательно | Ссылка на ресурс BackendService. Будет использоваться, если ни одно из правил путей, определённых этим PathMatcher, не соответствует пути URL. Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задачу gcp_compute_backend_service, а затем установить это поле default_service в "{{ имя-ресурса }}" | |||
| description строка | Необязательное описание этого ресурса. | |||
| name строка / обязательно | Имя, которому этот PathMatcher ссылается в HostRule. | |||
| path_rules список | Список правил путей. | |||
| paths список / обязательно | Список шаблонов путей для сопоставления. Каждый должен начинаться с /, и * разрешён только в конце после /. Строка, передаваемая в path matcher, не включает текст после первого ? или #, и эти символы здесь не допускаются. | |||
| service словарь / обязательно | Ссылка на ресурс BackendService, если это правило соответствует. Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задачу gcp_compute_backend_service, а затем установить это поле service в "{{ имя-ресурса }}" | |||
| project строка | Проект Google Cloud Platform для использования. | |||
| scopes список | Массив используемых областей. | |||
| service_account_contents jsonarg | Содержимое JSON-файла учетной записи службы, либо в словаре, либо как JSON-строка, которая его представляет. | |||
| service_account_email строка | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | |||
| service_account_file путь | Путь к JSON-файлу учетной записи службы, если в качестве типа выбран serviceaccount. | |||
| state строка |
| Нужно ли создать указанный объект в GCP | ||
| tests список | Список ожидаемых сопоставлений URL. Запросы на обновление этого UrlMap будут успешными только в том случае, если все тестовые сценарии пройдут. | |||
| description строка | Описание этого тестового сценария. | |||
| host строка / обязательно | Часть хоста URL. | |||
| path строка / обязательно | Часть пути URL. | |||
| service словарь / обязательно | Ссылка на ожидаемый ресурс BackendService, к которому должен быть сопоставлен данный URL. Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задачу gcp_compute_backend_service, а затем установить это поле service в "{{ имя-ресурса }}" | |||
Примечания
Примечание
- Для аутентификации можно установить 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 instance group
gcp_compute_instance_group:
name: instancegroup-urlmap
zone: us-central1-a
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: instancegroup
- name: create a HTTP health check
gcp_compute_http_health_check:
name: httphealthcheck-urlmap
healthy_threshold: 10
port: 8080
timeout_sec: 2
unhealthy_threshold: 5
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: healthcheck
- name: create a backend service
gcp_compute_backend_service:
name: backendservice-urlmap
backends:
- group: "{{ instancegroup.selfLink }}"
health_checks:
- "{{ healthcheck.selfLink }}"
enable_cdn: 'true'
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: backendservice
- name: create a URL map
gcp_compute_url_map:
name: test_object
default_service: "{{ backendservice }}"
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое | Описание | ||
|---|---|---|---|---|
| creationTimestamp строка | успех | Дата и время создания в формате RFC3339. | ||
| defaultService словарь | успех | Ссылка на ресурс BackendService, если ни один из правил hostRules не соответствует. | ||
| description строка | успех | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | ||
| fingerprint строка | успех | Отпечаток этого ресурса. Это поле используется во время обновлений этого ресурса. | ||
| hostRules сложное | успех | Список правил HostRules для использования с URL. | ||
| description строка | успех | Необязательное описание этого правила HostRule. Укажите это свойство при создании ресурса. | ||
| hosts список | успех | Список шаблонов хостов для сопоставления. Они должны быть допустимыми именами хостов, за исключением *, который будет соответствовать любой строке ([a-z0-9-.]*). В этом случае * должен быть первой буквой и должен быть после него либо - или . | ||
| pathMatcher строка | успех | Имя PathMatcher для сопоставления части пути URL, если правило hostRule соответствует хосту URL. | ||
| id целое число | успех | Уникальный идентификатор ресурса. | ||
| name строка | успех | Имя ресурса. Предоставляется клиентом при создании ресурса. Длина имени должна составлять 1-63 символа и соответствовать RFC1035. То есть длина имени должна составлять 1-63 символа и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. | ||
| pathMatchers сложное | успех | Список именованных PathMatchers для использования с URL. | ||
| defaultService словарь | успех | Ссылка на ресурс BackendService. Будет использоваться, если ни одно из правил pathRules, определенных этим PathMatcher, не соответствует пути URL. | ||
| description строка | успех | Необязательное описание этого ресурса. | ||
| name строка | успех | Имя, к которому этот PathMatcher ссылается по правилу HostRule. | ||
| pathRules сложное | успех | Список правил пути. | ||
| paths список | успех | Список шаблонов пути для сопоставления. Каждый должен начинаться с /, и единственное место, где разрешен *, находится в конце после /. Строка, подаваемая в обработчик пути, не включает текст после первого ? или #, и эти символы здесь не допускаются. | ||
| service словарь | успех | Ссылка на ресурс BackendService, если это правило соответствует. | ||
| tests сложное | успех | Список ожидаемых сопоставлений URL. Запросы на обновление этого UrlMap будут успешны только в том случае, если пройдут все тестовые случаи. | ||
| description строка | успех | Описание этого тестового случая. | ||
| host строка | успех | Часть хоста URL. | ||
| path строка | успех | Часть пути URL. | ||
| service словарь | успех | Ссылка на ожидаемый ресурс BackendService, к которому должен быть сопоставлен данный URL. | ||
Статус
- Данный модуль не гарантирует обратной совместимости интерфейса. [предварительная версия]
- Этот модуль поддерживается сообществом 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_url_map_module.html