google.cloud.gcp_storage_bucket – Создаёт ведро GCP
Примечание
Этот плагин является частью коллекции google.cloud (версия 1.0.1).
Для его установки используйте: 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 for Business 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 булево |
| Актуально только для версионированных объектов. Если значение true, это условие соответствует активным объектам; если значение false, оно соответствует архивированным объектам. | |||
| matches_storage_class список / элементы=строка | Объекты, соответствующие любым из категорий хранения, указанным в этом условии, будут подобраны. Значения включают MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD и DURABLE_REDUCED_AVAILABILITY. | ||||
| num_newer_versions целое число | Актуально только для версионированных объектов. Если значение равно N, это условие выполняется, когда существует как минимум N версий (включая текущую) более новых, чем текущая версия объекта. | ||||
| location строка | Расположение ведра. Данные объектов в ведре хранятся в физическом хранилище в данном регионе. По умолчанию — US. См. руководство разработчика для получения окончательного списка. | ||||
| 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 версия для этого ведра полностью включена. | |||
| веб-сайт словарь | Настройки веб-сайта ведра, определяющие поведение службы при доступе к содержимому ведра как к веб-сайту. Дополнительную информацию см. в примерах статических веб-сайтов. | ||||
| суффикс_главной_страницы строка | Если запрошенный путь к объекту отсутствует, служба добавит к нему trailing '/', добавит этот суффикс и попытается получить соответствующий объект. Это позволяет создавать объекты 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
Значения возврата
Общие значения возврата описаны здесь, следующие являются полями, уникальными для данного модуля:
| Ключ | Возвращено | Описание | |||
|---|---|---|---|---|---|
| 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 / elements=string | success | Список HTTP-методов, для которых включаются заголовки CORS-ответа (GET, OPTIONS, POST и т. д.). Примечание: «*» допускается в списке методов и означает «любой метод». | |||
| origin list / elements=string | success | Список источников, имеющих право на получение заголовков CORS-ответа. Примечание: «*» допускается в списке источников и означает «любой источник». | |||
| 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 целое число | успех | Номер генерации метаданных этого ведра. | |||
| name строка | успех | Имя ведра. | |||
| owner сложное | успех | Владелец ведра. Это всегда группа владельцев проекта. | |||
| entity строка | успех | Сущность в формате project-owner-projectId. | |||
| entityId строка | успех | Идентификатор сущности. | |||
| predefinedDefaultObjectAcl строка | успех | Применить предопределённый набор прав доступа к объектам по умолчанию для этого ведра. Допустимые значения: - "authenticatedRead": Владелец объекта получает права OWNER, а все авторизованные пользователи получают права READER. - "bucketOwnerFullControl": Владелец ведра получает права OWNER, а владельцы команды проекта получают права OWNER. - "bucketOwnerRead": Владелец ведра получает права OWNER, а владельцы команды проекта получают права READER. - "private": Владелец объекта получает права OWNER. - "projectPrivate": Владелец объекта получает права OWNER, а члены команды проекта получают доступ в соответствии с их ролями. - "publicRead": Владелец объекта получает права OWNER, а все пользователи получают права READER. | |||
| project строка | успех | Действительный идентификатор проекта 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/google/cloud/gcp_storage_bucket_module.html