gcp_storage_bucket - Создаёт ведро GCP
Новое в версии 2.6.
Обзор
- Ресурс «Ведра» представляет собой ведро в Google Cloud Storage. Существует один глобальный пространство имён, общий для всех вёдер. Дополнительную информацию см. в разделе Требования к имени ведра.
- Ведра содержат объекты, к которым можно получить доступ с помощью собственных методов. Помимо свойства acl, ведра содержат bucketAccessControls, для использования в тонкой настройке управления доступом к существующему ведру.
- Ведро всегда принадлежит группе владельцев проекта.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |||
|---|---|---|---|---|---|
| acl | Управление доступом к ведру. | ||||
| bucket обязательно | Ссылка на ресурс ведра. | ||||
| domain | Домен, связанный с объектом. | ||||
Адрес электронной почты, связанный с объектом. | |||||
| entity обязательно | Сущность, владеющая правом доступа, в одном из следующих форматов: user-userId user-email group-groupId group-email domain-domain project-team-projectId allUsers allAuthenticatedUsers Примеры: Пользователь liz@example.com будет иметь вид user-liz@example.com. Группа example@googlegroups.com будет иметь вид group-example@googlegroups.com. Для ссылки на всех участников домена Google Apps для бизнеса example.com, сущность будет иметь вид domain-example.com. | ||||
| entity_id | Идентификатор сущности. | ||||
| id | Идентификатор записи управления доступом. | ||||
| project_team | Команда проекта, связанная с объектом. | ||||
| project_number | Команда проекта, связанная с объектом. | ||||
| team |
| Команда. | |||
| role |
| Разрешение доступа для сущности. | |||
| auth_kind обязательно |
| Тип используемых учетных данных. | |||
| cors | Настройка CORS (Cross-Origin Resource Sharing) ведра. | ||||
| max_age_seconds | Значение в секундах, возвращаемое в заголовке Access-Control-Max-Age, используемом в ответах префлайта. | ||||
| method | Список HTTP-методов, для которых включаются заголовки CORS-ответа (GET, OPTIONS, POST и т. д.) Примечание: «*» разрешено в списке методов и означает «любой метод». | ||||
| origin | Список источников, имеющих право получить заголовки CORS-ответа. Примечание: «*» разрешено в списке источников и означает «любой источник». | ||||
| response_header | Список HTTP-заголовков, помимо простых заголовков ответа, для разрешения для пользовательского агента совместного использования между доменами. | ||||
| lifecycle | Настройка жизненного цикла ведра. См. https://developers.google.com/storage/docs/lifecycle для получения дополнительной информации. | ||||
| rule | Правило управления жизненным циклом, которое состоит из действия, которое необходимо выполнить, и условия(й), при которых будет выполнено действие. | ||||
| action | Действие, которое необходимо выполнить. | ||||
| storage_class | Целевой класс хранения. Требуется, если тип действия — SetStorageClass. | ||||
| type |
| Тип действия. В настоящее время поддерживаются только Delete и SetStorageClass. | |||
| condition | Условие(я), при котором(ых) будет выполнено действие. | ||||
| age_days | Возраст объекта (в днях). Это условие выполняется, когда объект достигает указанного возраста. | ||||
| created_before | Дата в формате RFC 3339, содержащая только часть даты (например, «2013-01-15»). Это условие выполняется, когда объект создан до полуночи указанной даты в UTC. | ||||
| is_live bool |
| Актуально только для версионированных объектов. Если значение равно true, это условие соответствует активным объектам; если значение равно false, оно соответствует архивированным объектам. | |||
| matches_storage_class | Объекты, имеющие любой из указанных в этом условии классов хранения, будут соответствовать. Значения включают MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, STANDARD и DURABLE_REDUCED_AVAILABILITY. | ||||
| num_newer_versions | Актуально только для версионированных объектов. Если значение равно N, это условие выполняется, когда существует как минимум N версий (включая активную версию), более новых, чем эта версия объекта. | ||||
| location | Расположение ведра. Данные объектов в ведре хранятся в физическом хранилище в данном регионе. По умолчанию США. См. руководство разработчика для получения авторитетного списка. | ||||
| logging | Настройка ведения журнала ведра, определяющая целевое ведро и необязательное префиксное имя для журналов текущего ведра. | ||||
| log_bucket | Целевое ведро, в котором должны храниться журналы текущего ведра. | ||||
| log_object_prefix | Префикс для имён объектов журналов. | ||||
| metageneration | Номер генерации метаданных этого ведра. | ||||
| name | Имя ведра. | ||||
| owner | Владелец ведра. Это всегда группа владельцев команды проекта. | ||||
| entity | Сущность в формате project-owner-projectId. | ||||
| entity_id | Идентификатор сущности. | ||||
| predefined_default_object_acl |
| Применение предварительно определенного набора правил доступа к объектам по умолчанию к этому ведру. Допустимые значения: - "authenticatedRead": Владелец объекта получает права OWNER, а все пользователи с аутентификацией получают права READER. - "bucketOwnerFullControl": Владелец объекта получает права OWNER, а владельцы команды проекта получают права OWNER. - "bucketOwnerRead": Владелец объекта получает права OWNER, а владельцы команды проекта получают права READER. - "private": Владелец объекта получает права OWNER. - "projectPrivate": Владелец объекта получает права OWNER, а члены команды проекта получают права в соответствии со своими ролями. - "publicRead": Владелец объекта получает права OWNER, а все пользователи получают права READER. | |||
| project | Действительный идентификатор проекта API. | ||||
| scopes обязательно | Массив используемых областей. | ||||
| service_account_email | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию. | ||||
| service_account_file | Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount. | ||||
| state обязательно |
| Существует ли данный объект в GCP | |||
| storage_class |
| По умолчанию класс хранения ведра, используемый всякий раз, когда для вновь созданного объекта не указан storageClass. Это определяет, как хранятся объекты в ведре, и определяет SLA и стоимость хранения. Значения включают MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE и DURABLE_REDUCED_AVAILABILITY. Если это значение не указано при создании ведра, оно по умолчанию будет STANDARD. Для получения дополнительной информации см. классы хранения. | |||
| versioning | Настройка версионирования ведра. | ||||
| enabled bool |
| При установке в значение true версионирование полностью включено для этого ведра. | |||
| сайт | Настройка сайта для ведра, управляющая поведением сервиса при обращении к содержимому ведра как к веб-сайту. Подробнее см. примеры статических веб-сайтов. | ||||
| main_page_suffix | Если путь к запрошенному объекту отсутствует, сервис добавит к пути конечный '/', прикрепит этот суффикс и попытается получить результат. Это позволяет создавать объекты index.html для представления страниц каталогов. | ||||
| страница_ошибки_404 | Если путь к запрошенному объекту отсутствует и, применимо, любой объект mainPageSuffix также отсутствует, сервис вернёт указанный объект из этого ведра как содержимое результата 404 "Страница не найдена". | ||||
Примечания
Примечание
- Для аутентификации можно установить service_account_file с помощью переменной окружения
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно установить service_account_email с помощью переменной окружения
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно установить auth_kind с помощью переменной окружения
GCP_AUTH_KIND. - Для аутентификации можно установить scopes с помощью переменной окружения
GCP_SCOPES. - Значения переменных окружения будут использоваться только в том случае, если значения в playbook не установлены.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: create a bucket
gcp_storage_bucket:
name: 'ansible-storage-module'
project: testProject
auth_kind: service_account
service_account_file: /tmp/auth.pem
scopes:
- https://www.googleapis.com/auth/devstorage.full_control
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключевые значения | Результат | Описание | |||
|---|---|---|---|---|---|
| acl complex | success | Управление доступом к ведру. | |||
| bucket dict | success | Ссылка на ресурс ведра. | |||
| domain str | success | Домен, связанный с объектом. | |||
| email str | success | Электронный адрес, связанный с объектом. | |||
| entity str | success | Объект, обладающий правом, в одном из следующих форматов: user-userId user-email group-groupId group-email domain-domain project-team-projectId allUsers allAuthenticatedUsers Примеры: Пользователь liz@example.com будет иметь вид user-liz@example.com. Группа example@googlegroups.com будет иметь вид group-example@googlegroups.com. Для ссылки на всех участников домена Google Apps для бизнеса example.com, объект будет иметь вид domain-example.com. | |||
| entity_id str | success | Идентификатор объекта. | |||
| id str | success | Идентификатор записи управления доступом. | |||
| project_team complex | success | Команда проекта, связанная с объектом. | |||
| project_number str | success | Команда проекта, связанная с объектом. | |||
| team str | success | Команда. | |||
| role str | success | Разрешение на доступ для объекта. | |||
| cors complex | success | Настройка совместного использования ресурсов через разные домены (CORS) для ведра. | |||
| max_age_seconds int | success | Значение в секундах, которое возвращается в заголовке Access-Control-Max-Age, используемом в ответах на предварительные запросы. | |||
| method list | success | Список HTTP-методов, для которых должны включаться заголовки CORS-ответа (GET, OPTIONS, POST и т.д.). Примечание: «*» допускается в списке методов и означает «любой метод». | |||
| origin list | success | Список источников, имеющих право на получение заголовков CORS-ответа. Примечание: «*» допускается в списке источников и означает «любой источник». | |||
| response_header list | success | Список HTTP-заголовков, помимо простых заголовков ответа, на которые пользовательскому агенту разрешено совместно использовать между доменными именами. | |||
| id str | success | Идентификатор ведра. Для ведер свойства id и name совпадают. | |||
| lifecycle complex | success | Настройка жизненного цикла ведра. Дополнительная информация доступна по ссылке https://developers.google.com/storage/docs/lifecycle. | |||
| rule complex | success | Правило управления жизненным циклом, состоящее из действия, которое необходимо предпринять, и условия(й), при которых действие будет выполнено. | |||
| action complex | success | Действие, которое необходимо предпринять. | |||
| storage_class str | success | Целевой класс хранения. Требуется, если тип действия — SetStorageClass. | |||
| type str | success | Тип действия. В настоящее время поддерживаются только Delete и SetStorageClass. | |||
| condition complex | success | Условия, при которых выполняется действие. | |||
| age_days int | success | Возраст объекта (в днях). Это условие выполняется, когда объект достигает указанного возраста. | |||
| created_before str | success | Дата в формате RFC 3339 с только частью даты (например, «2013-01-15»). Это условие выполняется, когда объект создан до полуночи указанной даты в формате UTC. | |||
| is_live bool | success | Актуально только для версионированных объектов. Если значение равно true, это условие соответствует активным объектам; если значение равно false, оно соответствует архивированным объектам. | |||
| matches_storage_class list | success | Объекты, имеющие любой из указанных в этом условии классов хранения, будут соответствовать. Значения включают MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, STANDARD и DURABLE_REDUCED_AVAILABILITY. | |||
| num_newer_versions int | success | Актуально только для версионированных объектов. Если значение равно N, это условие выполняется, когда существует не менее N версий (включая текущую версию) новее этой версии объекта. | |||
| location str | success | Расположение ведра. Данные объектов в ведре находятся в физическом хранилище в этом регионе. По умолчанию — US. См. руководство разработчика для получения авторитетного списка. | |||
| logging complex | success | Настройка ведения журнала ведра, которая определяет целевое ведро и необязательный префикс имени для журналов текущего ведра. | |||
| log_bucket str | success | Целевое ведро, в котором должны размещаться журналы текущего ведра. | |||
| log_object_prefix str | success | Префикс для имён объектов журнала. | |||
| metageneration int | success | Генерация метаданных этого ведра. | |||
| name str | success | Имя ведра. | |||
| owner complex | success | Владелец ведра. Это всегда группа владельцев команды проекта. | |||
| entity str | success | Объект в формате project-owner-projectId. | |||
| entity_id str | success | Идентификатор объекта. | |||
| predefined_default_object_acl str | success | Применение предварительно определённого набора правил доступа к объектам по умолчанию для этого ведра. Допустимые значения: - «authenticatedRead»: Обладатель объекта получает доступ OWNER, а все пользователи с подтверждённой подлинностью получают доступ READER. - «bucketOwnerFullControl»: Обладатель ведра получает доступ OWNER, и владельцы команды проекта получают доступ OWNER. - «bucketOwnerRead»: Обладатель ведра получает доступ OWNER, и владельцы команды проекта получают доступ READER. - «private»: Обладатель объекта получает доступ OWNER. - «projectPrivate»: Обладатель объекта получает доступ OWNER, и участники команды проекта получают доступ в соответствии с их ролями. - «publicRead»: Обладатель объекта получает доступ OWNER, а все пользователи получают доступ READER. | |||
| project str | success | Действительный идентификатор проекта API. | |||
| номер_проекта int | успешно | Номер проекта, к которому относится ведро. | |||
| класс_хранения str | успешно | По умолчанию класс хранения ведра, используемый всякий раз, когда для вновь созданного объекта не указан storageClass. Это определяет, как хранятся объекты в ведре, и определяет SLA и стоимость хранения. Значения включают MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE и DURABLE_REDUCED_AVAILABILITY. Если это значение не указано при создании ведра, оно по умолчанию будет STANDARD. Более подробную информацию см. в разделе классы хранения. | |||
| время_создания str | успешно | Время создания ведра в формате RFC 3339. | |||
| обновлено str | успешно | Время изменения ведра в формате RFC 3339. | |||
| versioning complex | успешно | Настройка versioning ведра. | |||
| включено bool | успешно | При установке в значение true versioning полностью включено для этого ведра. | |||
| сайт complex | успешно | Настройка сайта ведра, управляющая тем, как служба ведет себя при доступе к содержимому ведра как к веб-сайту. Более подробную информацию см. в примерах статических веб-сайтов. | |||
| суффикс_главной_страницы str | успешно | Если запрашиваемый путь к объекту отсутствует, служба обеспечит наличие конечного '/', добавит этот суффикс и попытается получить результат. Это позволяет создавать объекты index.html для представления страниц каталогов. | |||
| страница_не_найдена str | успешно | Если запрашиваемый путь к объекту отсутствует и, применимо, отсутствует любой объект mainPageSuffix, служба вернет указанный объект из этого ведра как содержимое результата 404 Not Found. | |||
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых сообществом 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.6/modules/gcp_storage_bucket_module.html