google.cloud.gcp_storage_bucket – Создаёт ведро GCP
Примечание
Этот плагин входит в коллекцию google.cloud (версия 1.0.2).
Для его установки используйте: ansible-galaxy collection install google.cloud
Для использования в playbook укажите: google.cloud.gcp_storage_bucket
Описание
- Ресурс «Ведро» представляет собой ведро в Google Cloud Storage. Существует единое глобальное пространство имён, общее для всех ведёр. Дополнительную информацию см. в разделе Требования к имени ведра.
- Ведра содержат объекты, к которым можно получить доступ с помощью собственных методов. Помимо свойства acl, ведра содержат bucketAccessControls для использования в точной настройке контролей доступа к существующему ведру.
- Ведро всегда принадлежит группе владельцев проекта.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |||
|---|---|---|---|---|---|
| acl список / элементы=словарь | Управление доступом к ведру. | ||||
| bucket словарь / обязательный | Имя ведра. Это поле представляет ссылку на ресурс Ведро в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'name' и значением имени вашего ресурса. Во-вторых, вы можете добавить `register: name-of-resource` к задаче gcp_storage_bucket, а затем установить это поле bucket в "{{ name-of-resource }}" | ||||
| 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_event_based_hold логическое значение |
| Определяет, следует ли автоматически применять eventBasedHold к новым объектам, добавляемым в ведро. | |||
| default_object_acl список / элементы=словарь | Значения управления доступом по умолчанию, применяемые к новым объектам, если ACL не указан. | ||||
| bucket словарь / обязательный | Имя ведра. Это поле представляет ссылку на ресурс Ведро в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'name' и значением имени вашего ресурса. Во-вторых, вы можете добавить `register: name-of-resource` к задаче gcp_storage_bucket, а затем установить это поле bucket в "{{ name-of-resource }}" | ||||
| 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. | ||||
| labels словарь | Метки, применённые к ведру. Список пар ключ-значение. | ||||
| 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 логическое значение |
| Актуально только для объектов с версиями. Если значение истинно, это условие соответствует активным объектам; если значение ложно, оно соответствует архивированным объектам. | |||
| matches_storage_class список / элементы=строка | Объекты, имеющие любой из указанных в этом условии типов хранения, будут соответствовать. Значения включают MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD и DURABLE_REDUCED_AVAILABILITY. | ||||
| num_newer_versions целое число | Актуально только для объектов с версиями. Если значение равно N, это условие выполняется, когда существует как минимум N версий (включая текущую версию) новее этой версии объекта. | ||||
| location строка | Расположение ведра. Данные объектов в ведре хранятся в физическом хранилище в данном регионе. По умолчанию США. См. руководство разработчика для получения авторитетного списка. | ||||
| logging словарь | Настройка ведения журнала ведра, определяющая целевое ведро и необязательное имя префикса для логов текущего ведра. | ||||
| log_bucket строка | Целевое ведро, в котором должны храниться логи текущего ведра. | ||||
| log_object_prefix строка | Префикс для имён объектов логов. | ||||
| metageneration целое число | Поколение метаданных этого ведра. | ||||
| name строка | Имя ведра. | ||||
| владелец словарь | Владелец ведра. Это всегда группа владельцев команды проекта. | ||||
| сущность строка | Сущность в формате project-owner-projectId. | ||||
| predefined_default_object_acl строка | Применить предопределённый набор стандартных прав доступа к объектам для этого ведра. Допустимые значения: - "authenticatedRead": Владелец объекта получает доступ OWNER, а все authenticatedUsers получают доступ READER. - "bucketOwnerFullControl": Владелец ведра получает доступ OWNER, а владельцы команды проекта получают доступ OWNER. - "bucketOwnerRead": Владелец ведра получает доступ OWNER, а владельцы команды проекта получают доступ READER. - "private": Владелец объекта получает доступ OWNER. - "projectPrivate": Владелец объекта получает доступ OWNER, а члены команды проекта получают доступ в соответствии с их ролями. - "publicRead": Владелец объекта получает доступ OWNER, а все пользователи получают доступ READER. Некоторые допустимые значения: "authenticatedRead", "bucketOwnerFullControl", "bucketOwnerRead", "private", "projectPrivate", "publicRead" | ||||
| проект строка | Проект Google Cloud Platform для использования. | ||||
| scopes список / элементы=строка | Массив используемых областей. | ||||
| service_account_contents jsonarg | Содержимое файла JSON учетной записи сервиса, либо в словаре, либо как строка JSON, которая его представляет. | ||||
| service_account_email строка | Необязательный адрес электронной почты учетной записи сервиса, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. | ||||
| service_account_file путь | Путь к файлу JSON учетной записи сервиса, если тип serviceaccount выбран как тип. | ||||
| состояние строка |
| Должен ли данный объект существовать в GCP | |||
| storage_class строка | Стандартный класс хранения ведра, используемый всякий раз, когда для вновь созданного объекта не указан storageClass. Это определяет, как хранятся объекты в ведре, и определяет SLA и стоимость хранения. Значения включают MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE и DURABLE_REDUCED_AVAILABILITY. Если это значение не указано при создании ведра, по умолчанию используется STANDARD. Дополнительную информацию см. в разделе классы хранения. Некоторые допустимые значения включают: "MULTI_REGIONAL", "REGIONAL", "STANDARD", "NEARLINE", "COLDLINE", "ARCHIVE", "DURABLE_REDUCED_AVAILABILITY" | ||||
| versioning словарь | Настройка версии ведра. | ||||
| включено булево |
| При установке в значение true версия полностью включена для этого ведра. | |||
| сайт словарь | Настройка сайта ведра, управляющая тем, как служба ведет себя при доступе к содержимому ведра как к веб-сайту. Дополнительную информацию см. в примерах статических веб-сайтов. | ||||
| суффикс_главной_страницы строка | Если запрошенный путь к объекту отсутствует, служба убедится, что в пути есть конечный '/', добавит этот суффикс и попытается получить соответствующий объект. Это позволяет создать объекты index.html для представления страниц каталогов. | ||||
| страница_не_найдена строка | Если запрошенный путь к объекту отсутствует, и любой объект mainPageSuffix отсутствует, если применимо, служба вернёт указанный объект из этого ведра как содержимое результата 404 Не найдено. | ||||
Примеры
- name: create a bucket
google.cloud.gcp_storage_bucket:
name: ansible-storage-module
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
\n Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |||
|---|---|---|---|---|---|
| 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. Для ссылки на всех участников домена 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 | Настройка Cross-Origin Resource Sharing (CORS) ведра. | |||
| maxAgeSeconds integer | success | Значение в секундах, возвращаемое в заголовке Access-Control-Max-Age, используемом в ответах preflight. | |||
| method list / elements=string | success | Список HTTP-методов, для которых включаются заголовки CORS-ответов (GET, OPTIONS, POST и т. д.). Примечание: "*" разрешено в списке методов и означает "любой метод". | |||
| origin list / elements=string | success | Список Origins, имеющих право на получение заголовков CORS-ответов. Примечание: "*" разрешено в списке Origins и означает "любой Origin". | |||
| responseHeader list / elements=string | success | Список HTTP-заголовков, помимо простых заголовков ответа, которые разрешено использовать для обмена данными между доменами. | |||
| defaultEventBasedHold boolean | success | Автоматически применять eventBasedHold к новым объектам, добавляемым в ведро. | |||
| 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 совпадают. | |||
| labels dictionary | success | Метки, применённые к ведру. Список пар ключ-значение. | |||
| 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 / elements=string | success | Объекты, имеющие любой из указанных в этом условии классов хранения, будут соответствовать. Значения включают MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD и DURABLE_REDUCED_AVAILABILITY. | |||
| numNewerVersions integer | success | Актуально только для версионированных объектов. Если значение равно N, это условие выполняется, когда существует как минимум N версий (включая активную версию), более новых, чем эта версия объекта. | |||
| location string | success | Расположение ведра. Данные объекта для объектов в ведре находятся в физическом хранилище в данном регионе. По умолчанию US. См. руководство разработчика для получения авторитетного списка. | |||
| журналирование сложный | успех | Настройка ведения журнала ведра, определяющая целевое ведро и необязательный префикс имени для журналов текущего ведра. | |||
| logBucket строка | успех | Целевое ведро, в котором должны храниться журналы текущего ведра. | |||
| logObjectPrefix строка | успех | Префикс для имен объектов журнала. | |||
| metageneration целое число | успех | Номер метаданных этого ведра. | |||
| имя строка | успех | Имя ведра. | |||
| владелец сложный | успех | Владелец ведра. Это всегда группа владельцев проекта. | |||
| сущность строка | успех | Сущность в формате project-owner-projectId. | |||
| entityId строка | успех | Идентификатор сущности. | |||
| predefinedDefaultObjectAcl строка | успех | Применить предопределённый набор стандартных прав доступа к объектам для этого ведра. Допустимые значения: - "authenticatedRead": Обладатель объекта получает права OWNER, а все авторизованные пользователи получают права READER. - "bucketOwnerFullControl": Обладатель ведра получает права OWNER, а владельцы проекта получают права OWNER. - "bucketOwnerRead": Обладатель ведра получает права OWNER, а владельцы проекта получают права READER. - "private": Обладатель объекта получает права OWNER. - "projectPrivate": Обладатель объекта получает права OWNER, а члены проекта получают права в соответствии со своими ролями. - "publicRead": Обладатель объекта получает права OWNER, а все пользователи получают права READER. | |||
| проект строка | успех | Действительный идентификатор проекта API. | |||
| projectNumber строка | успех | Номер проекта, к которому принадлежит ведро. | |||
| storageClass строка | успех | Стандартное хранилище ведра, используемое всякий раз, когда для вновь созданного объекта не указано storageClass. Это определяет, как хранятся объекты в ведре, и определяет SLA и стоимость хранения. Значения включают MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE и DURABLE_REDUCED_AVAILABILITY. Если это значение не указано при создании ведра, оно будет по умолчанию равно STANDARD. Более подробную информацию см. в разделе типы хранилищ. | |||
| timeCreated строка | успех | Время создания ведра в формате RFC 3339. | |||
| updated строка | успех | Время изменения ведра в формате RFC 3339. | |||
| versioning сложный | успех | Настройка системы контроля версий ведра. | |||
| enabled логическое | успех | При значении true система контроля версий полностью включена для этого ведра. | |||
| website сложный | успех | Настройка веб-сайта ведра, управляющая поведением службы при доступе к содержимому ведра как к веб-сайту. См. примеры статических веб-сайтов для получения дополнительной информации. | |||
| mainPageSuffix строка | успех | Если запрашиваемый путь к объекту отсутствует, служба добавит к пути конечный '/', добавит этот суффикс и попытается извлечь полученный объект. Это позволяет создавать объекты index.html для представления страниц каталога. | |||
| notFoundPage строка | успех | Если запрашиваемый путь к объекту отсутствует и отсутствует любой объект mainPageSuffix, если применимо, служба вернёт указанный объект из этого ведра в качестве содержимого для ответа 404 Not Found. | |||
Авторы
- Google Inc. (@googlecloudplatform)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/google/cloud/gcp_storage_bucket_module.html