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 словарь / обязательно | Имя ведра. Это поле представляет ссылку на ресурс Ведро в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'name' и значением имени вашего ресурса. Во-вторых, вы можете добавить `register: имя_ресурса` к задаче gcp_storage_bucket, а затем установить это поле ведра на "{{ имя_ресурса }}" | ||||
| 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 строка | Идентификатор сущности. | ||||
| project_team словарь | Команда проекта, связанная с сущностью. | ||||
| project_number строка | Команда проекта, связанная с сущностью. | ||||
| team строка | Команда. Некоторые допустимые варианты включают: "editors", "owners", "viewers" | ||||
| role строка | Разрешение доступа для сущности. Некоторые допустимые варианты включают: "OWNER", "READER", "WRITER" | ||||
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |||
| cors список | Настройка совместного использования ресурсов через разные домены (CORS) для ведра. | ||||
| max_age_seconds целое число | Значение, выраженное в секундах, возвращаемое в заголовке Access-Control-Max-Age, используемом в ответах на предварительные запросы. | ||||
| method список | Список HTTP-методов, для которых необходимо включать заголовки ответов CORS (GET, OPTIONS, POST и т. д.). Примечание: "*" разрешен в списке методов и означает "любой метод". | ||||
| origin список | Список источников, имеющих право получать заголовки ответов CORS. Примечание: "*" разрешен в списке источников и означает "любой источник". | ||||
| response_header список | Список HTTP-заголовков, помимо простых заголовков ответа, для предоставления пользователю-агенту разрешения на совместное использование между доменами. | ||||
| default_object_acl список добавлено в 2.7 | Настройки по умолчанию для управления доступом к новым объектам, если ACL не указаны. | ||||
| bucket словарь / обязательно | Имя ведра. Это поле представляет ссылку на ресурс Ведро в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'name' и значением имени вашего ресурса. Во-вторых, вы можете добавить `register: имя_ресурса` к задаче gcp_storage_bucket, а затем установить это поле ведра на "{{ имя_ресурса }}" | ||||
| entity строка / обязательно | Сущность, владеющая разрешением, в одном из следующих форматов: * user-{{userId}} * user-{{email}} (например, "user-liz@example.com") * group-{{groupId}} * group-{{email}} (например, "group-example@googlegroups.com") * domain-{{domain}} (например, "domain-example.com") * project-team-{{projectId}} * allUsers * allAuthenticatedUsers . | ||||
| object строка | Имя объекта, если применяется к объекту. | ||||
| role строка / обязательно | Разрешение доступа для сущности. Некоторые допустимые варианты включают: "OWNER", "READER" | ||||
| env_type строка | Указывает, в какой среде Ansible вы выполняете этот модуль. Это не следует устанавливать, если вы не знаете, что делаете. Это изменяет только строку User Agent для всех запросов к API. | ||||
| lifecycle словарь | Настройки жизненного цикла ведра. Для получения дополнительной информации см. https://developers.google.com/storage/docs/lifecycle. | ||||
| rule список | Правило управления жизненным циклом, состоящее из действия и условия(й), при которых будет выполнено это действие. | ||||
| action словарь | Действие, которое нужно выполнить. | ||||
| storage_class строка | Целевой класс хранения. Обязательно, если тип действия — SetStorageClass. | ||||
| type строка | Тип действия. В настоящее время поддерживаются только Delete и SetStorageClass. Некоторые допустимые варианты включают: "Delete", "SetStorageClass" | ||||
| condition словарь | Условие(я), при котором(ых) будет выполнено действие. | ||||
| age_days целое число | Возраст объекта (в днях). Это условие выполняется, когда объект достигает указанного возраста. | ||||
| created_before строка | Дата в формате RFC 3339 с только частью даты (например, "2013-01-15"). Это условие выполняется, когда объект был создан до полуночи указанной даты в формате UTC. | ||||
| is_live логическое значение |
| Актуально только для объектов с версиями. Если значение true, это условие соответствует активным объектам; если значение false, оно соответствует архивированным объектам. | |||
| matches_storage_class список | Объекты, имеющие любой из указанных в этом условии классов хранения, будут соответствовать. Значения включают MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, STANDARD и DURABLE_REDUCED_AVAILABILITY. | ||||
| num_newer_versions целое число | Актуально только для объектов с версиями. Если значение равно N, это условие выполняется, когда существует как минимум N версий (включая текущую версию) более новых, чем эта версия объекта. | ||||
| location строка | Расположение ведра. Данные объекта для объектов в ведре хранятся в физическом хранилище в этом регионе. По умолчанию — US. См. руководство разработчика для получения авторитетного списка. | ||||
| Регистрация словарь | Настройка регистрации ведра, определяющая целевое ведро и необязательный префикс имени для логов текущего ведра. | ||||
| ведро_логирования строка | Целевое ведро, в котором должны храниться логи текущего ведра. | ||||
| префикс_объекта_лога строка | Префикс для имён объектов логов. | ||||
| метапоколение целое число | Метапоколение этого ведра. | ||||
| название строка | Название ведра. | ||||
| владелец словарь | Владелец ведра. Это всегда группа владельцев проекта. | ||||
| сущность строка | Сущность в формате проект-владелец-идентификаторПроекта. | ||||
| предварительно_определённый_по_умолчанию_доступ_объектов строка | Применить предварительно заданный набор прав доступа по умолчанию для объектов этого ведра. Допустимые значения: - "authenticatedRead": Владелец объекта получает доступ OWNER, а все аутентифицированные пользователи получают доступ READER. - "bucketOwnerFullControl": Владелец ведра получает доступ OWNER, а владельцы команды проекта получают доступ OWNER. - "bucketOwnerRead": Владелец ведра получает доступ OWNER, а владельцы команды проекта получают доступ READER. - "private": Владелец объекта получает доступ OWNER. - "projectPrivate": Владелец объекта получает доступ OWNER, а члены команды проекта получают доступ в соответствии с их ролями. - "publicRead": Владелец объекта получает доступ OWNER, а все пользователи получают доступ READER. Некоторые допустимые значения включают: "authenticatedRead", "bucketOwnerFullControl", "bucketOwnerRead", "private", "projectPrivate", "publicRead" | ||||
| проект строка | Действительный идентификатор проекта API. | ||||
| скоупы список | Массив используемых областей. | ||||
| содержимое_учётной_записи_сервиса jsonarg | Содержимое файла JSON учётной записи сервиса, либо в виде словаря, либо как строка JSON, его представляющая. | ||||
| электронная_почта_учётной_записи_сервиса строка | Необязательный адрес электронной почты учётной записи сервиса, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. | ||||
| файл_учётной_записи_сервиса путь | Путь к файлу JSON учётной записи сервиса, если тип serviceaccount выбран в качестве типа. | ||||
| состояние строка |
| Существует ли данный объект в GCP | |||
| тип_хранилища строка | Стандартный тип хранения ведра, используемый всякий раз, когда для недавно созданного объекта не указан storageClass. Это определяет, как хранятся объекты в ведре, и определяет SLA и стоимость хранения. Значения включают MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE и DURABLE_REDUCED_AVAILABILITY. Если это значение не указано при создании ведра, оно по умолчанию будет STANDARD. Для получения дополнительной информации см. типы хранилища. Некоторые допустимые значения включают: "MULTI_REGIONAL", "REGIONAL", "STANDARD", "NEARLINE", "COLDLINE", "DURABLE_REDUCED_AVAILABILITY" | ||||
| версионирование словарь | Настройка версионирования ведра. | ||||
| активировано логическое |
| При установке в значение true, версионирование полностью включено для данного ведра. | |||
| веб-сайт словарь | Настройка веб-сайта ведра, управляющая поведением службы при доступе к содержимому ведра как к веб-сайту. Для получения дополнительной информации см. примеры статических веб-сайтов. | ||||
| суффикс_главной_страницы строка | Если путь запрашиваемого объекта отсутствует, служба гарантирует, что путь имеет конечный '/', добавит этот суффикс и попытается получить результирующий объект. Это позволяет создавать объекты index.html для представления страниц каталога. | ||||
| страница_не_найдена строка | Если запрашиваемый путь объекта отсутствует и любой объект mainPageSuffix отсутствует, если применимо, служба вернёт указанный объект из этого ведра как содержимое для результата 404 Not Found. | ||||
Примечания
Примечание
- для аутентификации можно установить 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 bucket
gcp_storage_bucket:
name: ansible-storage-module
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие — это поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание | |||
|---|---|---|---|---|---|
| acl complex | success | Управление доступом к ведру. | |||
| bucket dictionary | success | Имя ведра. | |||
| domain string | success | Домен, связанный с объектом. | |||
| email string | success | Электронный адрес, связанный с объектом. | |||
| entity string | 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 for Business example.com, сущность будет domain-example.com. | |||
| entityId string | success | Идентификатор сущности. | |||
| id string | success | Идентификатор записи управления доступом. | |||
| projectTeam complex | success | Команда проекта, связанная с объектом. | |||
| projectNumber string | success | Команда проекта, связанная с объектом. | |||
| team string | success | Команда. | |||
| role string | success | Разрешение доступа для сущности. | |||
| cors complex | success | Настройка совместного использования ресурсов с разных источников (CORS) для ведра. | |||
| maxAgeSeconds integer | success | Значение в секундах, возвращаемое в заголовке Access-Control-Max-Age, используемом в ответах на запросы предварительной проверки. | |||
| method list | success | Список HTTP-методов, для которых будут включаться заголовки ответов CORS (GET, OPTIONS, POST и т.д.). Примечание: «*» допускается в списке методов и означает «любой метод». | |||
| origin list | success | Список источников, имеющих право на получение заголовков ответов CORS. Примечание: «*» допускается в списке источников и означает «любой источник». | |||
| responseHeader list | success | Список HTTP-заголовков, помимо простых заголовков ответа, которым разрешено совместное использование между доменами для пользовательского агента. | |||
| defaultObjectAcl complex | success | Набор стандартных правил управления доступом к новым объектам, если ACL не указан. | |||
| bucket dictionary | success | Имя ведра. | |||
| domain string | success | Домен, связанный с объектом. | |||
| email string | success | Электронный адрес, связанный с объектом. | |||
| entity string | success | Сущность, владеющая разрешением, в одном из следующих форматов: * user-{{userId}} * user-{{email}} (например, "user-liz@example.com") * group-{{groupId}} * group-{{email}} (например, "group-example@googlegroups.com") * domain-{{domain}} (например, "domain-example.com") * project-team-{{projectId}} * allUsers * allAuthenticatedUsers. | |||
| entityId string | success | Идентификатор сущности. | |||
| generation integer | success | Номер версии содержимого объекта, если применён. | |||
| id string | success | Идентификатор записи управления доступом. | |||
| object string | success | Имя объекта, если применён. | |||
| projectTeam complex | success | Команда проекта, связанная с объектом. | |||
| projectNumber string | success | Команда проекта, связанная с объектом. | |||
| team string | success | Команда. | |||
| role string | success | Разрешение доступа для сущности. | |||
| id string | success | Идентификатор ведра. Для ведер свойства id и name совпадают. | |||
| lifecycle complex | success | Конфигурация жизненного цикла ведра. Для получения дополнительной информации см. https://developers.google.com/storage/docs/lifecycle. | |||
| rule complex | success | Правило управления жизненным циклом, состоящее из действия, которое выполняется, и условия(й), при которых это действие выполняется. | |||
| action complex | success | Действие, которое выполняется. | |||
| storageClass string | success | Целевой класс хранения. Требуется, если тип действия — SetStorageClass. | |||
| type string | success | Тип действия. В настоящее время поддерживаются только Delete и SetStorageClass. | |||
| condition complex | success | Условие(я), при которых выполняется действие. | |||
| ageDays integer | success | Возраст объекта (в днях). Это условие выполняется, когда объект достигает указанного возраста. | |||
| createdBefore string | success | Дата в формате RFC 3339, содержащая только часть даты (например, «2013-01-15»). Это условие выполняется, когда объект был создан до полуночи указанной даты в UTC. | |||
| isLive boolean | success | Только для объектов с версиями. Если значение true, условие соответствует активным объектам; если значение false, условие соответствует архивированным объектам. | |||
| matchesStorageClass list | success | Будут сопоставлены объекты, имеющие любой из указанных в этом условии типов хранилища. Значения включают MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, STANDARD и DURABLE_REDUCED_AVAILABILITY. | |||
| numNewerVersions integer | success | Только для объектов с версиями. Если значение равно N, условие выполняется, когда существует как минимум N версий (включая текущую версию) объекта, более новых, чем эта версия. | |||
| location string | success | Расположение ведра. Данные объектов в ведре хранятся в физическом хранилище в этом регионе. По умолчанию US. См. руководство разработчика для получения окончательного списка. | |||
| logging complex | success | Настройка ведения журнала ведра, которая определяет ведро назначения и необязательный префикс имени для журналов текущего ведра. | |||
| logBucket string | success | Ведро назначения, в котором должны храниться журналы текущего ведра. | |||
| logObjectPrefix string | success | Префикс для имён объектов журнала. | |||
| metageneration integer | success | Номер генерации метаданных этого ведра. | |||
| name string | success | Имя ведра. | |||
| owner complex | success | Владелец ведра. Это всегда группа владельцев проекта. | |||
| entity string | success | Сущность в формате project-owner-projectId. | |||
| entityId string | success | Идентификатор сущности. | |||
| predefinedDefaultObjectAcl string | success | Применить предопределённый набор контролей доступа к объектам по умолчанию к этому ведру. Допустимые значения: - "authenticatedRead": Владелец объекта получает доступ OWNER, а все авторизованные пользователи получают доступ READER. - "bucketOwnerFullControl": Владелец ведра получает доступ OWNER, а владельцы команды проекта получают доступ OWNER. - "bucketOwnerRead": Владелец ведра получает доступ OWNER, а владельцы команды проекта получают доступ READER. - "private": Владелец объекта получает доступ OWNER. - "projectPrivate": Владелец объекта получает доступ OWNER, а члены команды проекта получают доступ в соответствии со своими ролями. - "publicRead": Владелец объекта получает доступ OWNER, а все пользователи получают доступ READER. | |||
| project string | success | Действительный идентификатор проекта API. | |||
| projectNumber integer | success | Номер проекта проекта, к которому принадлежит ведро. | |||
| storageClass string | success | Основной тип хранилища ведра, используемый всякий раз, когда для вновь созданного объекта не указан storageClass. Это определяет, как хранятся объекты в ведре, и определяет SLA и стоимость хранения. Значения включают MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE и DURABLE_REDUCED_AVAILABILITY. Если это значение не указано при создании ведра, оно по умолчанию будет STANDARD. Дополнительную информацию см. в разделе Типы хранилищ. | |||
| timeCreated string | success | Время создания ведра в формате RFC 3339. | |||
| updated string | success | Время изменения ведра в формате RFC 3339. | |||
| versioning complex | success | Настройка версионирования ведра. | |||
| enabled boolean | success | При установке в значение true, версионирование полностью включено для этого ведра. | |||
| website complex | success | Настройка веб-сайта ведра, контролирующая, как служба ведёт себя при обращении к содержимому ведра как к веб-сайту. См. примеры статических веб-сайтов для получения дополнительной информации. | |||
| mainPageSuffix string | success | Если запрошенный путь к объекту отсутствует, служба гарантирует, что путь имеет конечный '/', добавит этот суффикс и попытается получить соответствующий объект. Это позволяет создавать объекты index.html для представления страниц каталогов. | |||
| notFoundPage string | success | Если запрошенный путь к объекту отсутствует, и любой объект mainPageSuffix отсутствует, если применимо, служба вернёт указанный объект из этого ведра как содержимое для результата 404 Not Found. | |||
Статус
- Данный модуль не гарантирует обратную совместимость интерфейса. [preview]
- Данный модуль поддерживается сообществом 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_storage_bucket_module.html