Модуль google.cloud.gcp_compute_backend_bucket — создание BackendBucket в GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для работы с этим модулем требуются дополнительные зависимости. Подробнее см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_compute_backend_bucket.
Краткое описание
- Бакеты бэкенда позволяют использовать бакеты Google Cloud Storage с балансировкой нагрузки HTTP(S).
- Балансировщик нагрузки HTTP(S) может направлять трафик по заданным URL-адресам в бакет бэкенда, а не в службу бэкенда. Он может отправлять запросы статического содержимого в бакет Cloud Storage, а запросы динамического содержимого — на экземпляр виртуальной машины.
Требования
На хосте, на котором выполняется этот модуль, должны быть установлены следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен доступа OAuth2, если выбран тип учетных данных accesstoken. |
auth_kind string / обязательно | Тип используемых учетных данных. Варианты:
|
bucket_name string / обязательно | Имя бакета Cloud Storage. |
cdn_policy dictionary | Конфигурация Cloud CDN для этого бакета бэкенда. |
|
cache_mode string |
Задает параметры кэширования для всех ответов этого бэкенда. Возможные значения: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL и CACHE_ALL_STATIC . Допустимые варианты: “USE_ORIGIN_HEADERS”, “FORCE_CACHE_ALL”, “CACHE_ALL_STATIC” |
|
client_ttl integer |
Задает максимально допустимое время жизни (TTL) кэшированного содержимого, отдаваемого этим источником. |
|
default_ttl integer |
Задает TTL по умолчанию для кэшированного содержимого, отдаваемого этим источником, в ответах, для которых не задано допустимое значение TTL (max-age или s-max-age). |
|
max_ttl integer |
Задает максимально допустимое время жизни (TTL) кэшированного содержимого, отдаваемого этим источником. |
|
negative_caching boolean |
Отрицательное кэширование позволяет задавать TTL отдельно для каждого кода состояния, чтобы точнее кэшировать распространенные ошибки или перенаправления. Варианты:
|
|
negative_caching_policy list / elements=dictionary |
Задает TTL кэша для указанного кода состояния HTTP. Для настройки negativeCachingPolicy необходимо включить negativeCaching. Если не указывать политику, но оставить negativeCaching включенным, будут использоваться значения TTL кэша Cloud CDN по умолчанию. |
|
code integer |
Код состояния HTTP, для которого задается TTL. В качестве значений можно указывать только коды состояния HTTP 300, 301, 308, 404, 405, 410, 421, 451 и 501; один и тот же код состояния нельзя указывать более одного раза. |
|
ttl integer |
TTL (в секундах), в течение которого кэшируются ответы с соответствующим кодом состояния. Максимально допустимое значение — 1800 с (30 минут). Обратите внимание: редко используемые объекты могут быть удалены из кэша до истечения заданного TTL. |
|
serve_while_stale integer |
Отдавать имеющееся в кэше содержимое (если оно доступно) при повторной проверке содержимого у источника или при возникновении ошибки во время обновления кэша. |
|
signed_url_cache_max_age_sec integer |
Максимальное количество секунд, в течение которых ответ на запрос по подписанному URL считается актуальным. По истечении этого времени ответ будет повторно проверен перед отправкой. При отправке ответов на запросы по подписанным URL Cloud CDN будет внутренне обрабатывать все ответы этого бэкенда так, как если бы они содержали заголовок “Cache-Control: public, max-age=[TTL]”, независимо от имеющегося заголовка Cache-Control. Фактические заголовки в отправляемых ответах изменяться не будут. |
custom_response_headers list / elements=string | Заголовки, которые балансировщик нагрузки HTTP/S должен добавлять к проксируемым ответам. |
description string | Необязательное текстовое описание ресурса, задаваемое клиентом при создании ресурса. |
enable_cdn boolean | Если задано значение true, для этого BackendBucket включается Cloud CDN. Варианты:
|
env_type string | Указывает среду Ansible, в которой выполняется этот модуль. Не задавайте этот параметр, если не уверены в том, что делаете. Он изменяет только строку User Agent для всех запросов API. |
name string / обязательно | Имя ресурса. Задается клиентом при создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. |
project string | Проект Google Cloud Platform, который будет использоваться. |
scopes list / elements=string | Массив используемых областей доступа |
service_account_contents jsonarg | Содержимое JSON-файла учетной записи службы — в виде словаря или JSON-строки, представляющей этот словарь. |
service_account_email string | Необязательный адрес электронной почты учетной записи службы. Используется, если выбран machineaccount и пользователь не хочет использовать адрес электронной почты по умолчанию. |
service_account_file path | Путь к JSON-файлу учетной записи службы, если в качестве типа выбрано serviceaccount. |
state string | Определяет, должен ли указанный объект существовать в GCP Варианты:
|
Примечания
Примечание
- Справочник API: https://cloud.google.com/compute/docs/reference/v1/backendBuckets
- Использование бакета Cloud Storage в качестве бэкенда балансировщика нагрузки: https://cloud.google.com/compute/docs/load-balancing/http/backend-bucket
- для аутентификации можно задать service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - для аутентификации можно задать service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно задать service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно задать access_token с помощью переменной среды
GCP_ACCESS_TOKEN. - Для аутентификации можно задать auth_kind с помощью переменной среды
GCP_AUTH_KIND. - Для аутентификации можно задать scopes с помощью переменной среды
GCP_SCOPES. - Значения переменных среды используются только в том случае, если значения не заданы в плейбуке.
- Параметры service_account_email и service_account_file являются взаимоисключающими.
Примеры
- name: create a bucket
google.cloud.gcp_storage_bucket:
name: bucket-backendbucket
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: bucket
- name: create a backend bucket
google.cloud.gcp_compute_backend_bucket:
name: test_object
bucket_name: "{{ bucket.name }}"
description: A BackendBucket to connect LNB w/ Storage Bucket
enable_cdn: 'true'
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
bucketName string | Имя бакета Cloud Storage. Возвращается: при успешном выполнении |
cdnPolicy complex | Конфигурация Cloud CDN для этого бакета бэкенда. Возвращается: при успешном выполнении |
|
cacheMode string |
Задает параметры кэширования для всех ответов этого бэкенда. Возможные значения: USE_ORIGIN_HEADERS, FORCE_CACHE_ALL и CACHE_ALL_STATIC . Возвращается: при успешном выполнении |
|
clientTtl integer |
Задает максимально допустимое время жизни (TTL) кэшированного содержимого, отдаваемого этим источником. Возвращается: при успешном выполнении |
|
defaultTtl integer |
Задает TTL по умолчанию для кэшированного содержимого, отдаваемого этим источником, в ответах, для которых не задано допустимое значение TTL (max-age или s-max-age). Возвращается: при успешном выполнении |
|
maxTtl integer |
Задает максимально допустимое время жизни (TTL) кэшированного содержимого, отдаваемого этим источником. Возвращается: при успешном выполнении |
|
negativeCaching boolean |
Отрицательное кэширование позволяет задавать TTL отдельно для каждого кода состояния, чтобы точнее кэшировать распространенные ошибки или перенаправления. Возвращается: при успешном выполнении |
|
negativeCachingPolicy complex |
Задает TTL кэша для указанного кода состояния HTTP. Для настройки negativeCachingPolicy необходимо включить negativeCaching. Если не указывать политику, но оставить negativeCaching включенным, будут использоваться значения TTL кэша Cloud CDN по умолчанию. Возвращается: при успешном выполнении |
|
code integer |
Код состояния HTTP, для которого задается TTL. В качестве значений можно указывать только коды состояния HTTP 300, 301, 308, 404, 405, 410, 421, 451 и 501; один и тот же код состояния нельзя указывать более одного раза. Возвращается: при успешном выполнении |
|
ttl integer |
TTL (в секундах), в течение которого кэшируются ответы с соответствующим кодом состояния. Максимально допустимое значение — 1800 с (30 минут). Обратите внимание: редко используемые объекты могут быть удалены из кэша до истечения заданного TTL. Возвращается: при успешном выполнении |
|
serveWhileStale integer |
Отдавать имеющееся в кэше содержимое (если оно доступно) при повторной проверке содержимого у источника или при возникновении ошибки во время обновления кэша. Возвращается: при успешном выполнении |
|
signedUrlCacheMaxAgeSec integer |
Максимальное количество секунд, в течение которых ответ на запрос по подписанному URL считается актуальным. По истечении этого времени ответ будет повторно проверен перед отправкой. При отправке ответов на запросы по подписанным URL Cloud CDN будет внутренне обрабатывать все ответы этого бэкенда так, как если бы они содержали заголовок “Cache-Control: public, max-age=[TTL]”, независимо от имеющегося заголовка Cache-Control. Фактические заголовки в отправляемых ответах изменяться не будут. Возвращается: при успешном выполнении |
creationTimestamp string | Время создания в текстовом формате RFC3339. Возвращается: при успешном выполнении |
customResponseHeaders list / elements=string | Заголовки, которые балансировщик нагрузки HTTP/S должен добавлять к проксируемым ответам. Возвращается: при успешном выполнении |
description string | Необязательное текстовое описание ресурса, задаваемое клиентом при создании ресурса. Возвращается: при успешном выполнении |
enableCdn boolean | Если задано значение true, для этого BackendBucket включается Cloud CDN. Возвращается: при успешном выполнении |
id integer | Уникальный идентификатор ресурса. Возвращается: при успешном выполнении |
name string | Имя ресурса. Задается клиентом при создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`: первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_compute_backend_bucket_module.html