Spec-Zone.ru › Ansible

модуль 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 / обязательный

Тип используемых учетных данных.

Варианты:

  • "application"
  • "machineaccount"
  • "serviceaccount"
  • "accesstoken"

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 к новым объектам, добавленным в бакет.

Варианты:

  • false
  • true

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

Состояние предотвращения публичного доступа к бакету.

Варианты:

  • "inherited" ← (по умолчанию)
  • "enforced"

uniform_bucket_level_access

dictionary

Конфигурация унифицированного доступа на уровне бакета.

enabled

boolean

Использует ли бакет унифицированный доступ на уровне бакета.

Если этот параметр задан, проверки доступа используют только политики IAM на уровне бакета или выше.

Варианты:

  • false
  • true

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 — архивным объектам.

Варианты:

  • false
  • true

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

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

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, управление версиями для этого бакета полностью включено.

Возможные значения:

  • false
  • 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

Домен, связанный с сущностью.

Возвращается: при успехе

email

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

Домен, связанный с сущностью.

Возвращается: при успехе

email

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.

Возвращается: при успехе

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API