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 - | Домен, связанный с сущностью. | ||||
| 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 for Business 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 - | Список Origins, имеющих право на получение заголовков CORS-ответа. Примечание: «*» разрешено в списке origins и означает «любой origin». | ||||
| response_header - | Список HTTP-заголовков, отличных от простых заголовков ответа, для предоставления разрешения пользовательскому агенту на совместное использование между доменами. | ||||
| default_object_acl - добавлен в 2.7 | Параметры по умолчанию для управления доступом к новым объектам, если 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 for Business example.com, сущностью будет domain-example.com. | ||||
| entity_id - | Идентификатор сущности. | ||||
| generation - | Номер генерации содержимого объекта, если применимо. | ||||
| id - | Идентификатор записи управления доступом. | ||||
| object - | Имя объекта, если применимо. | ||||
| project_team - | Команда проекта, связанная с сущностью. | ||||
| project_number - | Команда проекта, связанная с сущностью. | ||||
| team - |
| Команда. | |||
| 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 - | Сущность в формате 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 - | По умолчанию: null | Действительный идентификатор проекта 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 boolean |
| При установке в значение 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. - Для аутентификации можно задать 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: "service_account"
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | |||
|---|---|---|---|---|---|
| acl complex | success | Управление доступом к ведру. | |||
| bucket словарь | success | Имя ведра. | |||
| domain строка | success | Домен, связанный с сущностью. | |||
| email строка | success | Адрес электронной почты, связанный с сущностью. | |||
| entity строка | 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. | |||
| entity_id строка | success | Идентификатор сущности. | |||
| id строка | success | Идентификатор записи управления доступом. | |||
| project_team complex | success | Команда проекта, связанная с сущностью. | |||
| project_number строка | success | Команда проекта, связанная с сущностью. | |||
| team строка | success | Команда. | |||
| role строка | success | Разрешение доступа для сущности. | |||
| cors complex | success | Настройка совместного использования ресурсов из разных источников (CORS) ведра. | |||
| max_age_seconds целое число | success | Значение в секундах, возвращаемое в заголовке Access-Control-Max-Age, используемом в ответах на запросы предварительного просмотра. | |||
| method список | success | Список HTTP-методов, для которых включаются заголовки ответов CORS (GET, OPTIONS, POST и т. д.). Примечание: «*» разрешен в списке методов и означает «любой метод». | |||
| origin список | success | Список источников, имеющих право на получение заголовков ответов CORS. Примечание: «*» разрешен в списке источников и означает «любой источник». | |||
| response_header список | success | Список HTTP-заголовков, помимо простых заголовков ответов, разрешающий агенту пользователя совместное использование данных между доменами. | |||
| default_object_acl complex | success | Управление доступом по умолчанию, применяемое к новым объектам, когда ACL не указан. | |||
| bucket словарь | success | Имя ведра. | |||
| domain строка | success | Домен, связанный с сущностью. | |||
| email строка | success | Адрес электронной почты, связанный с сущностью. | |||
| entity строка | 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. | |||
| entity_id строка | success | Идентификатор сущности. | |||
| generation целое число | success | Номер версии содержимого объекта, если он применён к объекту. | |||
| id строка | success | Идентификатор записи управления доступом. | |||
| object строка | success | Имя объекта, если оно применяется к объекту. | |||
| project_team complex | success | Команда проекта, связанная с сущностью. | |||
| project_number строка | success | Команда проекта, связанная с сущностью. | |||
| team строка | success | Команда. | |||
| role строка | success | Разрешение доступа для сущности. | |||
| id строка | success | Идентификатор ведра. Для ведер свойства id и name совпадают. | |||
| lifecycle complex | success | Настройка жизненного цикла ведра. Дополнительную информацию см. на странице https://developers.google.com/storage/docs/lifecycle. | |||
| rule complex | success | Правило управления жизненным циклом, которое состоит из действия и условия(й), при которых будет выполнено это действие. | |||
| action complex | success | Действие, которое должно быть выполнено. | |||
| storage_class строка | success | Целевой класс хранения. Требуется, если тип действия — SetStorageClass. | |||
| type строка | success | Тип действия. В настоящее время поддерживаются только Delete и SetStorageClass. | |||
| condition complex | success | Условие(я), при которых будет выполнено действие. | |||
| age_days целое число | success | Возраст объекта (в днях). Это условие выполняется, когда объект достигает указанного возраста. | |||
| created_before строка | success | Дата в формате RFC 3339, содержащая только часть даты (например, "2013-01-15"). Это условие выполняется, когда объект был создан до полуночи указанной даты в UTC. | |||
| is_live логическое значение | success | Актуально только для версионированных объектов. Если значение true, это условие соответствует активным объектам; если значение false, оно соответствует архивированным объектам. | |||
| matches_storage_class список | success | Объекты, обладающие любым из указанных в этом условии классами хранения, будут соответствовать. Значения включают MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, STANDARD и DURABLE_REDUCED_AVAILABILITY. | |||
| num_newer_versions целое число | success | Только для версионированных объектов. Если значение равно N, это условие выполняется, когда существует как минимум N версий (включая текущую), более новых, чем эта версия объекта. | |||
| location строка | success | Расположение ведра. Данные объектов в ведре хранятся в физическом хранилище в данном регионе. По умолчанию US. Смотрите руководство разработчика для получения полного списка. | |||
| logging сложный тип | success | Настройка ведения журнала ведра, определяющая целевое ведро и необязательный префикс имени для журналов текущего ведра. | |||
| log_bucket строка | success | Целевое ведро, в котором должны храниться журналы текущего ведра. | |||
| log_object_prefix строка | success | Префикс для имён объектов журнала. | |||
| metageneration целое число | success | Номер генерации метаданных этого ведра. | |||
| name строка | success | Имя ведра. | |||
| owner сложный тип | success | Владелец ведра. Всегда группа владельцев проекта. | |||
| entity строка | success | Сущность в формате project-owner-projectId. | |||
| entity_id строка | success | Идентификатор сущности. | |||
| predefined_default_object_acl строка | success | Применить предопределённый набор стандартных разрешений доступа к объектам для этого ведра. Допустимые значения: - "authenticatedRead": Обладателю объекта предоставляется доступ OWNER, а всем авторизованным пользователям — READER. - "bucketOwnerFullControl": Обладателю ведра предоставляется доступ OWNER, а владельцам проекта — OWNER. - "bucketOwnerRead": Обладателю ведра предоставляется доступ OWNER, а владельцам проекта — READER. - "private": Обладателю объекта предоставляется доступ OWNER. - "projectPrivate": Обладателю объекта предоставляется доступ OWNER, а членам проектной команды — доступ в соответствии с их ролями. - "publicRead": Обладателю объекта предоставляется доступ OWNER, а всем пользователям — READER. | |||
| project строка | success | Действительный идентификатор проекта API. | |||
| project_number целое число | success | Номер проекта, к которому принадлежит ведро. | |||
| storage_class строка | success | Стандартный класс хранения ведра, используемый в случае, когда для недавно созданного объекта не указан storageClass. Определяет способ хранения объектов в ведре и SLA, а также стоимость хранения. Значения включают MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE и DURABLE_REDUCED_AVAILABILITY. Если это значение не указано при создании ведра, по умолчанию используется STANDARD. Дополнительная информация приведена в разделе "Классы хранения". | |||
| time_created строка | success | Время создания ведра в формате RFC 3339. | |||
| updated строка | success | Время изменения ведра в формате RFC 3339. | |||
| versioning сложный тип | success | Настройка ведения версий ведра. | |||
| enabled булево | success | При значении true ведение версий для этого ведра полностью включено. | |||
| website сложный тип | success | Настройка веб-сайта ведра, контролирующая поведение сервиса при доступе к содержимому ведра как к веб-сайту. Подробнее см. в примерах статических веб-сайтов. | |||
| main_page_suffix строка | success | Если путь к запрашиваемому объекту отсутствует, сервис добавит к пути символ '/', прикрепит этот суффикс и попытается получить соответствующий объект. Это позволяет создавать объекты index.html для представления страниц каталогов. | |||
| not_found_page строка | success | Если путь к запрашиваемому объекту отсутствует, и объект с суффиксом 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.7/modules/gcp_storage_bucket_module.html