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: name-of-resource` к задаче gcp_storage_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 - |
| Команда. | |||
| role - |
| Разрешение доступа для сущности. | |||
| auth_kind строка / обязательно |
| Тип используемых учетных данных. | |||
| cors - | Настройка совместного использования ресурсов через разные домены (CORS) ведра. | ||||
| max_age_seconds - | Значение, в секундах, которое возвращается в заголовке Access-Control-Max-Age, используемом в ответах на запросы предварительной проверки. | ||||
| method - | Список HTTP-методов, для которых включаются заголовки ответа CORS (GET, OPTIONS, POST и т. д.) Примечание: «*» разрешено в списке методов и означает «любой метод». | ||||
| origin - | Список Origins, имеющих право на получение заголовков ответа CORS. Примечание: «*» разрешено в списке Origins и означает «любой Origin». | ||||
| response_header - | Список HTTP-заголовков, помимо простых заголовков ответа, для предоставления разрешения user-agent на совместное использование между доменами. | ||||
| default_object_acl - добавлено в 2.7 | Значения по умолчанию для управления доступом к новым объектам, когда ACL не указан. | ||||
| bucket - / обязательно | Имя ведра. Это поле представляет ссылку на ресурс ведра в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'name' и значением имени вашего ресурса. Во-вторых, можно добавить `register: name-of-resource` к задаче gcp_storage_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 - / обязательно |
| Разрешение доступа для сущности. | |||
| 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 boolean |
| Актуально только для версионированных объектов. Если значение 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 - | Сущность в формате проект-владелец-идентификаторПроекта. | ||||
| 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_contents строка | Строка, представляющая содержимое JSON-файла учетной записи службы. Это не должно передаваться как словарь, а строка с точным содержимым файла json учетной записи службы (действительный JSON). | ||||
| 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 логическое |
| При установке в значение true контроль версий полностью включён для этого ведра. | |||
| website - | Конфигурация веб-сайта ведра, управляющая поведением службы при доступе к содержимому ведра как к веб-сайту. Дополнительную информацию см. в примерах статических веб-сайтов. | ||||
| main_page_suffix - | Если запрошенный путь к объекту отсутствует, служба обеспечит наличие конечного '/', добавит этот суффикс и попытается извлечь получившийся объект. Это позволяет создавать объекты index.html для представления страниц каталогов. | ||||
| not_found_page - | Если запрошенный путь к объекту отсутствует и любой объект mainPageSuffix отсутствует, применительно к соответствующим случаям, служба вернёт указанный объект из этого ведра как содержимое результата 404 Not Found. | ||||
Примечания
Примечание
- Для аутентификации можно установить service_account_file с помощью переменной среды
GCP_SERVICE_ACCOUNT_FILE. - Для аутентификации можно установить service_account_email с помощью переменной среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно установить service_account_contents с помощью переменной среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно установить 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: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание | |||
|---|---|---|---|---|---|
| acl сложный | успех | Управление доступом к ведру. | |||
| bucket словарь | успех | Имя ведра. | |||
| domain строка | успех | Домен, связанный с объектом. | |||
| email строка | успех | Электронный адрес, связанный с объектом. | |||
| 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. Группа example@googlegroups.com будет group-example@googlegroups.com. Для ссылки на всех участников домена Google Apps для бизнеса example.com, сущность будет domain-example.com. | |||
| entityId строка | успех | Идентификатор сущности. | |||
| id строка | успех | Идентификатор записи управления доступом. | |||
| projectTeam сложный | успех | Команда проекта, связанная с объектом. | |||
| projectNumber строка | успех | Команда проекта, связанная с объектом. | |||
| team строка | успех | Команда. | |||
| role строка | успех | Разрешение доступа для сущности. | |||
| cors сложный | успех | Настройка совместного использования ресурсов с разных доменов (CORS) ведра. | |||
| maxAgeSeconds целое число | успех | Значение в секундах, возвращаемое в заголовке Access-Control-Max-Age, используемом в ответах на предварительные запросы. | |||
| method список | успех | Список HTTP-методов, для которых включены заголовки ответов CORS (GET, OPTIONS, POST и т. д.) Примечание: «*» разрешен в списке методов и означает «любой метод». | |||
| origin список | успех | Список источников, которым разрешено получать заголовки ответов CORS. Примечание: «*» разрешен в списке источников и означает «любой источник». | |||
| responseHeader список | успех | Список HTTP-заголовков, отличных от простых заголовков ответа, для которых разрешено совместное использование между доменами. | |||
| defaultObjectAcl сложный | успех | Настройки по умолчанию для управления доступом к новым объектам, если ACL не предоставлен. | |||
| bucket словарь | успех | Имя ведра. | |||
| domain строка | успех | Домен, связанный с объектом. | |||
| email строка | успех | Электронный адрес, связанный с объектом. | |||
| 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 . | |||
| entityId строка | успех | Идентификатор сущности. | |||
| generation целое число | успех | Генерация содержимого объекта, если применяется к объекту. | |||
| id строка | успех | Идентификатор записи управления доступом. | |||
| object строка | успех | Имя объекта, если применяется к объекту. | |||
| projectTeam сложный | успех | Команда проекта, связанная с объектом. | |||
| projectNumber строка | успех | Команда проекта, связанная с объектом. | |||
| team строка | успех | Команда. | |||
| role строка | успех | Разрешение доступа для сущности. | |||
| id строка | успех | Идентификатор ведра. Для ведер свойства id и name совпадают. | |||
| lifecycle сложный | успех | Настройка жизненного цикла ведра. См. https://developers.google.com/storage/docs/lifecycle для получения дополнительной информации. | |||
| rule сложный | успех | Правило управления жизненным циклом, которое включает действие и условия, при которых это действие будет выполнено. | |||
| action сложный | успех | Выполняемое действие. | |||
| storageClass строка | успех | Целевой класс хранения. Требуется, если тип действия — SetStorageClass. | |||
| type строка | успех | Тип действия. В настоящее время поддерживаются только Delete и SetStorageClass. | |||
| condition сложный | успех | Условие(я), при которых будет выполнено действие. | |||
| ageDays целое число | успех | Возраст объекта (в днях). Это условие выполняется, когда объект достигает указанного возраста. | |||
| createdBefore строка | успех | Дата в формате RFC 3339 с только частью даты (например, «2013-01-15»). Это условие выполняется, когда объект был создан до полуночи указанной даты в UTC. | |||
| isLive логическое | успех | Актуально только для версионированных объектов. Если значение true, это условие соответствует активным объектам; если значение false, оно соответствует архивированным объектам. | |||
| matchesStorageClass список | успех | Объекты, имеющие любой из указанных в этом условии классов хранения, будут соответствовать. Значения включают MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, STANDARD и DURABLE_REDUCED_AVAILABILITY. | |||
| numNewerVersions целое число | успех | Актуально только для версионированных объектов. Если значение равно N, это условие выполняется, когда существует как минимум N версий (включая текущую версию), более новых, чем эта версия объекта. | |||
| location строка | успех | Расположение ведра. Данные объекта для объектов в ведре хранятся в физическом хранилище в этом регионе. По умолчанию США. См. руководство разработчика для получения окончательного списка. | |||
| logging сложное | успех | Настройка ведения журнала ведра, которая определяет целевое ведро и необязательный префикс имени для журналов текущего ведра. | |||
| logBucket строка | успех | Целевое ведро, в котором должны размещаться журналы текущего ведра. | |||
| logObjectPrefix строка | успех | Префикс для имён объектов журналов. | |||
| metageneration целое число | успех | Поколение метаданных этого ведра. | |||
| name строка | успех | Имя ведра. | |||
| owner сложное | успех | Владелец ведра. Это всегда группа владельцев проекта. | |||
| entity строка | успех | Сущность в формате project-owner-projectId. | |||
| entityId строка | успех | Идентификатор сущности. | |||
| predefinedDefaultObjectAcl строка | успех | Применение предопределённого набора стандартных контролей доступа к объектам для этого ведра. Допустимые значения: - "authenticatedRead": Владелец объекта получает доступ OWNER, а все authenticatedUsers получают доступ 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 и DURABLE_REDUCED_AVAILABILITY. Если это значение не указано при создании ведра, оно будет по умолчанию STANDARD. Дополнительную информацию см. в разделах о классах хранения. | |||
| timeCreated строка | успех | Время создания ведра в формате RFC 3339. | |||
| updated строка | успех | Время изменения ведра в формате RFC 3339. | |||
| versioning сложное | успех | Настройка версии ведра. | |||
| enabled логическое | успех | При установке в значение true ведение версий для этого ведра полностью включено. | |||
| website сложное | успех | Настройка веб-сайта ведра, управляющая тем, как сервис ведёт себя при доступе к содержимому ведра как к веб-сайту. Дополнительную информацию см. в примерах статических веб-сайтов. | |||
| mainPageSuffix строка | успех | Если запрошенного пути к объекту нет, служба гарантирует, что в пути есть конечный '/', добавит этот суффикс и попытается получить соответствующий объект. Это позволяет создавать объекты index.html для представления страниц каталогов. | |||
| notFoundPage строка | успех | Если запрошенного пути к объекту нет и отсутствует объект с суффиксом mainPageSuffix, если применимо, служба вернёт указанный объект из этого ведра как содержимое результата 404 Not Found. | |||
Статус
- Данный модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом 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.8/modules/gcp_storage_bucket_module.html