модуль google.cloud.gcp_storage_bucket — Создает бакет GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля требуются дополнительные компоненты. Подробности см. в разделе Требования.
Чтобы использовать модуль в сценарии, укажите: google.cloud.gcp_storage_bucket.
Обзор
- Ресурс Buckets представляет бакет в Google Cloud Storage. Все бакеты используют единое глобальное пространство имен. Дополнительные сведения см. в разделе «Требования к именам бакетов».
- Бакеты содержат объекты, доступ к которым можно получить с помощью собственных методов. Помимо свойства acl, бакеты содержат bucketAccessControls для детального управления параметрами доступа к существующему бакету.
- Владельцем бакета всегда является группа владельцев команды проекта.
Требования
На хосте, выполняющем этот модуль, должны быть установлены следующие компоненты.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
acl list / elements=dictionary | Список правил управления доступом к бакету. |
|
bucket dictionary / обязательный |
Имя бакета. Это поле представляет собой ссылку на ресурс Bucket в GCP. Его можно указать двумя способами. Во-первых, можно указать словарь с ключом ‘name’ и значением, равным имени ресурса. Кроме того, можно добавить `register: name-of-resource` в задачу gcp_storage_bucket, а затем задать для этого поля bucket значение “{{ name-of-resource }}” |
|
entity string / обязательный |
Субъект, которому предоставлено разрешение, в одной из следующих форм: 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 string |
Идентификатор субъекта. |
|
project_team dictionary |
Команда проекта, связанная с субъектом. |
|
project_number string |
Команда проекта, связанная с субъектом. |
|
team string |
Команда. Допустимые варианты: “editors”, “owners”, “viewers” |
|
role string |
Разрешение на доступ для субъекта. Допустимые варианты: “OWNER”, “READER”, “WRITER” |
auth_kind string / обязательный | Тип используемых учетных данных. Варианты:
|
cors list / elements=dictionary | Конфигурация Cross-Origin Resource Sharing (CORS) для бакета. |
|
max_age_seconds integer |
Значение в секундах, которое будет передано в заголовке Access-Control-Max-Age в ответах на предварительные запросы. |
|
method list / elements=string |
Список методов HTTP, для которых следует включать заголовки ответа CORS (GET, OPTIONS, POST и т. д.). Примечание: в списке методов допускается “*”, означающее «любой метод». |
|
origin list / elements=string |
Список источников, которым разрешено получать заголовки ответа CORS. Примечание: в списке источников допускается “*”, означающее «любой источник». |
|
response_header list / elements=string |
Список заголовков HTTP, кроме простых заголовков ответа, которые разрешено передавать пользовательскому агенту между доменами. |
default_event_based_hold boolean | Следует ли автоматически применять eventBasedHold к новым объектам, добавленным в бакет. Варианты:
|
default_object_acl list / elements=dictionary | Правила управления доступом по умолчанию для новых объектов, если ACL не указан. |
|
bucket dictionary / обязательный |
Имя бакета. Это поле представляет собой ссылку на ресурс Bucket в GCP. Его можно указать двумя способами. Во-первых, можно указать словарь с ключом ‘name’ и значением, равным имени ресурса. Кроме того, можно добавить `register: name-of-resource` в задачу gcp_storage_bucket, а затем задать для этого поля bucket значение “{{ name-of-resource }}” |
|
entity string / обязательный |
Субъект, которому предоставлено разрешение, в одной из следующих форм: * 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 string |
Имя объекта, если правило применяется к объекту. |
|
role string / обязательный |
Разрешение на доступ для субъекта. Допустимые варианты: “OWNER”, “READER” |
env_type string | Указывает, в какой среде Ansible выполняется этот модуль. Не задавайте это значение, если не знаете, что делаете. Это влияет только на строку User Agent для любых запросов API. |
iam_configuration dictionary | Конфигурация IAM для бакета хранилища. |
|
public_access_prevention string |
Состояние предотвращения публичного доступа к бакету. Варианты:
|
|
uniform_bucket_level_access dictionary |
Конфигурация унифицированного доступа на уровне бакета. |
|
enabled boolean |
Использует ли бакет унифицированный доступ на уровне бакета. Если этот параметр задан, проверки доступа используют только политики IAM на уровне бакета или выше. Варианты:
|
labels dictionary | Метки, применяемые к этому бакету. Список пар ключ->значение. |
lifecycle dictionary | Конфигурация жизненного цикла бакета. Дополнительную информацию см. на странице https://developers.google.com/storage/docs/lifecycle. |
|
rule list / elements=dictionary |
Правило управления жизненным циклом, состоящее из выполняемого действия и условий, при которых это действие будет выполнено. |
|
action dictionary |
Действие, которое необходимо выполнить. |
|
storage_class string |
Целевой класс хранилища. Обязателен, если тип действия — SetStorageClass. |
|
type string |
Тип действия. В настоящее время поддерживаются только Delete и SetStorageClass. Допустимые варианты: “Delete”, “SetStorageClass” |
|
condition dictionary |
Условия, при которых будет выполнено действие. |
|
age_days integer |
Возраст объекта в днях. Условие выполняется, когда объект достигает указанного возраста. |
|
created_before string |
Дата в формате RFC 3339, содержащая только дату (например, “2013-01-15”). Условие выполняется, если объект создан до полуночи указанной даты по UTC. |
|
custom_time_before string |
Дата в формате RFC 3339 YYYY-MM-DD. Условие выполняется, если метаданные customTime объекта содержат дату, предшествующую дате, указанной в этом условии жизненного цикла. |
|
days_since_custom_time integer |
Количество дней с даты, указанной в метаданных customTime объекта. Условие выполняется, если с момента customTime прошло не менее указанного количества дней. |
|
days_since_noncurrent_time integer |
Применимо только к объектам с включенным управлением версиями. Условие выполняется, если объект оставался неактуальным дольше указанного количества дней. |
|
is_live boolean |
Применимо только к объектам с включенным управлением версиями. Если значение равно true, условие соответствует активным объектам; если значение равно false — архивным объектам. Варианты:
|
|
matches_storage_class list / elements=string |
Условию будут соответствовать объекты, имеющие любой из указанных классов хранилища. Допустимые значения: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD и DURABLE_REDUCED_AVAILABILITY. |
|
noncurrent_time_before string |
Применимо только к объектам с включенным управлением версиями. Дата в формате RFC 3339 YYYY-MM-DD. Условие выполняется для объектов, которые стали неактуальными до указанной в нем даты. |
|
num_newer_versions integer |
Применимо только к объектам с включенным управлением версиями. Если значение равно N, условие выполняется, когда существует не менее N версий (включая активную), более новых, чем эта версия объекта. |
location string | Расположение бакета. Данные объектов в бакете хранятся физически в этом регионе. По умолчанию используется US. Актуальный список см. в руководстве разработчика. |
logging dictionary | Конфигурация ведения журналов бакета, определяющая целевой бакет и необязательный префикс имени для журналов текущего бакета. |
|
log_bucket string |
Целевой бакет, в который следует помещать журналы текущего бакета. |
|
log_object_prefix string |
Префикс имен объектов журнала. |
metageneration integer | Поколение метаданных этого бакета. |
name string | Имя бакета. |
owner dictionary | Владелец бакета. Это всегда группа владельцев команды проекта. |
|
entity string |
Субъект в формате project-owner-projectId. |
predefined_default_object_acl string | Применить к этому бакету заранее определенный набор правил управления доступом к объектам по умолчанию. Допустимые значения: - “authenticatedRead”: владелец объекта получает доступ OWNER, а allAuthenticatedUsers — доступ READER. - “bucketOwnerFullControl”: владелец объекта получает доступ OWNER, а владельцы команды проекта — доступ OWNER. - “bucketOwnerRead”: владелец объекта получает доступ OWNER, а владельцы команды проекта — доступ READER. - “private”: владелец объекта получает доступ OWNER. - “projectPrivate”: владелец объекта получает доступ OWNER, а участники команды проекта получают доступ в соответствии со своими ролями. - “publicRead”: владелец объекта получает доступ OWNER, а allUsers — доступ READER. Допустимые варианты: “authenticatedRead”, “bucketOwnerFullControl”, “bucketOwnerRead”, “private”, “projectPrivate”, “publicRead” |
project string | Проект Google Cloud Platform, который следует использовать. |
scopes list / elements=string | Массив используемых областей доступа |
service_account_contents jsonarg | Содержимое JSON-файла учетной записи службы: словарь или JSON-строка, представляющая его. |
service_account_email string | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. |
service_account_file path | Путь к JSON-файлу учетной записи службы, если в качестве типа выбрано serviceaccount. |
state string | Должен ли указанный объект существовать в GCP Варианты:
|
storage_class string | Класс хранения данных по умолчанию для бакета, используемый, если для нового объекта не указан storageClass. Он определяет способ хранения объектов в бакете, а также соглашение об уровне обслуживания (SLA) и стоимость хранения. Возможные значения: MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE и DURABLE_REDUCED_AVAILABILITY. Если при создании бакета это значение не указано, по умолчанию используется STANDARD. Подробнее см. в разделе о классах хранения данных. Допустимые значения: “MULTI_REGIONAL”, “REGIONAL”, “STANDARD”, “NEARLINE”, “COLDLINE”, “ARCHIVE”, “DURABLE_REDUCED_AVAILABILITY” |
versioning dictionary | Конфигурация управления версиями бакета. |
|
enabled boolean |
Если установлено значение true, управление версиями для этого бакета полностью включено. Возможные значения:
|
website dictionary | Конфигурация веб-сайта бакета, определяющая поведение службы при доступе к содержимому бакета как к веб-сайту. Дополнительные сведения см. в примерах статических веб-сайтов. |
|
main_page_suffix string |
Если путь к запрошенному объекту отсутствует, служба добавит в конец пути «/», добавит этот суффикс и попытается получить объект по полученному пути. Это позволяет создавать объекты index.html для представления страниц каталогов. |
|
not_found_page string |
Если путь к запрошенному объекту отсутствует и, если применимо, отсутствует объект mainPageSuffix, служба вернёт указанный объект из этого бакета в качестве содержимого ответа 404 Not Found. |
Примеры
- 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 | Элементы управления доступом к бакету. Возвращается: при успехе |
|
bucket dictionary |
Имя бакета. Возвращается: при успехе |
|
domain string |
Домен, связанный с сущностью. Возвращается: при успехе |
|
string |
Возвращается: при успехе |
|
entity string |
Сущность, которой предоставлено разрешение. Указывается в одной из следующих форм: 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 |
Идентификатор сущности. Возвращается: при успехе |
|
id string |
Идентификатор записи управления доступом. Возвращается: при успехе |
|
projectTeam complex |
Команда проекта, связанная с сущностью. Возвращается: при успехе |
|
projectNumber string |
Команда проекта, связанная с сущностью. Возвращается: при успехе |
|
team string |
Команда. Возвращается: при успехе |
|
role string |
Разрешение на доступ для сущности. Возвращается: при успехе |
cors complex | Конфигурация совместного использования ресурсов между источниками (CORS) для бакета. Возвращается: при успехе |
|
maxAgeSeconds integer |
Значение в секундах, которое возвращается в заголовке Access-Control-Max-Age при предварительных ответах. Возвращается: при успехе |
|
method list / elements=string |
Список методов HTTP, для которых нужно включать заголовки ответа CORS (GET, OPTIONS, POST и т. д.). Примечание: в списке методов допускается «*», означающая «любой метод». Возвращается: при успехе |
|
origin list / elements=string |
Список источников, которым разрешено получать заголовки ответа CORS. Примечание: в списке источников допускается «*», означающая «любой источник». Возвращается: при успехе |
|
responseHeader list / elements=string |
Список заголовков HTTP, помимо простых заголовков ответа, для передачи которых пользовательскому агенту разрешается совместное использование между доменами. Возвращается: при успехе |
defaultEventBasedHold boolean | Следует ли автоматически применять eventBasedHold к новым объектам, добавленным в бакет. Возвращается: при успехе |
defaultObjectAcl complex | Элементы управления доступом по умолчанию для новых объектов, если ACL не задан. Возвращается: при успехе |
|
bucket dictionary |
Имя бакета. Возвращается: при успехе |
|
domain string |
Домен, связанный с сущностью. Возвращается: при успехе |
|
string |
Адрес электронной почты, связанный с сущностью. Возвращается: при успехе |
|
entity string |
Сущность, которой предоставлено разрешение. Указывается в одной из следующих форм: * 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 |
Идентификатор сущности. Возвращается: при успехе |
|
generation integer |
Поколение содержимого объекта, если параметр применяется к объекту. Возвращается: при успехе |
|
id string |
Идентификатор записи управления доступом. Возвращается: при успехе |
|
object string |
Имя объекта, если параметр применяется к объекту. Возвращается: при успехе |
|
projectTeam complex |
Команда проекта, связанная с сущностью. Возвращается: при успехе |
|
projectNumber string |
Команда проекта, связанная с сущностью. Возвращается: при успехе |
|
team string |
Команда. Возвращается: при успехе |
|
role string |
Разрешение на доступ для сущности. Возвращается: при успехе |
iamConfiguration complex | Конфигурация IAM для бакета хранилища. Возвращается: при успехе |
|
publicAccessPrevention string |
Состояние предотвращения публичного доступа к бакету. Возвращается: при успехе |
|
uniformBucketLevelAccess complex |
Конфигурация унифицированного доступа на уровне бакета. Возвращается: при успехе |
|
enabled boolean |
Использует ли бакет унифицированный доступ на уровне бакета. Если задано, при проверках доступа используются только политики IAM на уровне бакета или выше. Возвращается: при успехе |
id string | Идентификатор бакета. Для бакетов свойства id и name совпадают. Возвращается: при успехе |
labels dictionary | Метки, применённые к этому бакету. Список пар ключ->значение. Возвращается: при успехе |
lifecycle complex | Конфигурация жизненного цикла бакета. Дополнительные сведения см. на странице https://developers.google.com/storage/docs/lifecycle. Возвращается: при успехе |
|
rule complex |
Правило управления жизненным циклом, состоящее из выполняемого действия и условий, при которых оно выполняется. Возвращается: при успехе |
|
action complex |
Выполняемое действие. Возвращается: при успехе |
|
storageClass string |
Целевой класс хранилища. Обязателен, если тип действия — SetStorageClass. Возвращается: при успехе |
|
type string |
Тип действия. В настоящее время поддерживаются только Delete и SetStorageClass. Возвращается: при успехе |
|
condition complex |
Условия, при которых выполняется действие. Возвращается: при успехе |
|
ageDays integer |
Возраст объекта в днях. Условие выполняется, когда объект достигает указанного возраста. Возвращается: при успехе |
|
createdBefore string |
Дата в формате RFC 3339, содержащая только дату (например, «2013-01-15»). Условие выполняется, если объект создан до полуночи указанной даты по UTC. Возвращается: при успехе |
|
customTimeBefore string |
Дата в формате RFC 3339 YYYY-MM-DD. Условие выполняется, если метаданные customTime объекта указывают на дату, предшествующую дате, заданной в этом условии жизненного цикла. Возвращается: при успехе |
|
daysSinceCustomTime integer |
Количество дней, прошедших с даты, указанной в метаданных customTime объекта. Условие выполняется, если текущие дата и время наступили не менее чем через указанное количество дней после customTime. Возвращается: при успехе |
|
daysSinceNoncurrentTime integer |
Применяется только к объектам с версиями. Условие выполняется, если объект находится в неактуальном состоянии дольше указанного количества дней. Возвращается: при успехе |
|
isLive boolean |
Применяется только к объектам с версиями. Если значение равно true, условие соответствует актуальным объектам; если значение равно false — архивным объектам. Возвращается: при успехе |
|
matchesStorageClass list / elements=string |
Условие соответствует объектам, имеющим любой из указанных классов хранилища. Возможные значения: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD и DURABLE_REDUCED_AVAILABILITY. Возвращается: при успехе |
|
noncurrentTimeBefore string |
Применяется только к объектам с версиями. Дата в формате RFC 3339 YYYY-MM-DD. Условие выполняется для объектов, которые перешли в неактуальное состояние до указанной даты. Возвращается: при успехе |
|
numNewerVersions integer |
Применяется только к объектам с версиями. Если значение равно N, условие выполняется, когда существует не менее N версий (включая актуальную), более новых, чем эта версия объекта. Возвращается: при успехе |
location string | Расположение бакета. Данные объектов в бакете хранятся в физическом хранилище в этом регионе. По умолчанию — US. Авторитетный список см. в руководстве разработчика. Возвращается: при успехе |
logging complex | Конфигурация ведения журналов бакета, определяющая целевой бакет и необязательный префикс имени для журналов текущего бакета. Возвращается: при успехе |
|
logBucket string |
Целевой бакет, в который следует помещать журналы текущего бакета. Возвращается: при успехе |
|
logObjectPrefix string |
Префикс для имен объектов журналов. Возвращается: при успехе |
metageneration integer | Поколение метаданных этого бакета. Возвращается: при успехе |
name string | Имя бакета. Возвращается: при успехе |
owner complex | Владелец бакета. Это всегда группа владельцев команды проекта. Возвращается: при успехе |
|
entity string |
Сущность в формате project-owner-projectId. Возвращается: при успехе |
|
entityId string |
Идентификатор сущности. Возвращается: при успехе |
predefinedDefaultObjectAcl string | Применить к этому бакету предопределенный набор правил управления доступом к объектам по умолчанию. Допустимые значения: - «authenticatedRead»: владелец объекта получает доступ OWNER, а все пользователи с аутентификацией — доступ READER. - «bucketOwnerFullControl»: владелец объекта получает доступ OWNER, а владельцы команды проекта — доступ OWNER. - «bucketOwnerRead»: владелец объекта получает доступ OWNER, а владельцы команды проекта — доступ READER. - «private»: владелец объекта получает доступ OWNER. - «projectPrivate»: владелец объекта получает доступ OWNER, а участники команды проекта получают доступ в соответствии со своими ролями. - «publicRead»: владелец объекта получает доступ OWNER, а все пользователи — доступ READER. Возвращается: при успехе |
project string | Допустимый идентификатор проекта API. Возвращается: при успехе |
projectNumber string | Номер проекта, которому принадлежит бакет. Возвращается: при успехе |
storageClass string | Класс хранения по умолчанию для бакета, используемый, если для нового объекта не указан storageClass. Он определяет способ хранения объектов в бакете, а также SLA и стоимость хранения. Возможные значения: MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE и DURABLE_REDUCED_AVAILABILITY. Если при создании бакета это значение не указано, по умолчанию используется STANDARD. Дополнительные сведения см. в разделе о классах хранения. Возвращается: при успехе |
timeCreated string | Время создания бакета в формате RFC 3339. Возвращается: при успехе |
updated string | Время изменения бакета в формате RFC 3339. Возвращается: при успехе |
versioning complex | Конфигурация версионирования бакета. Возвращается: при успехе |
|
enabled boolean |
Если установлено значение true, версионирование для этого бакета полностью включено. Возвращается: при успехе |
website complex | Конфигурация веб-сайта бакета, определяющая поведение службы при доступе к содержимому бакета как к веб-сайту. Дополнительные сведения см. в примерах статических веб-сайтов. Возвращается: при успехе |
|
mainPageSuffix string |
Если запрошенный путь к объекту не найден, служба добавит в конец пути «/», добавит этот суффикс и попытается получить соответствующий объект. Это позволяет создавать объекты index.html для представления страниц каталогов. Возвращается: при успехе |
|
notFoundPage string |
Если запрошенный путь к объекту не найден и, если применимо, отсутствует объект с суффиксом mainPageSuffix, служба вернет указанный объект из этого бакета в качестве содержимого ответа 404 Not Found. Возвращается: при успехе |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_storage_bucket_module.html