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 - | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | |||
| 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 строка | Строка, представляющая содержимое файла JSON учетной записи службы. Это не должно передаваться в виде словаря, а как строка, содержащая точное содержимое файла 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 с помощью переменной среды
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. - Значения переменных окружения будут использованы только в том случае, если значения в playbook не заданы.
- Параметры 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 }}"
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 список | успех | Список шаблонов путей для сопоставления. Каждый должен начинаться с /, и символ * разрешён только в конце после /. Строка, подаваемая в path matcher, не включает текст после первого ? или #, и эти символы здесь не допускаются. | ||
| service словарь | успех | Ссылка на ресурс BackendService, если это правило соответствует. | ||
| tests сложное | успех | Список ожидаемых сопоставлений URL. Запросы на обновление этого UrlMap будут успешны только в том случае, если пройдут все тестовые случаи. | ||
| description строка | успех | Описание данного тестового случая. | ||
| host строка | успех | Часть хоста URL. | ||
| path строка | успех | Часть пути URL. | ||
| service словарь | успех | Ссылка на ожидаемый ресурс BackendService, к которому должен быть сопоставлен данный URL. | ||
Состояние
- Этот модуль не гарантирует обратной совместимости. [превью]
- Этот модуль поддерживается сообществом 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_url_map_module.html