ресурс google_storage_bucket
Синтаксис
Для проверки ресурса Google Bucket используется google_storage_bucket
Примеры
describe google_storage_bucket(name: bucket-name) do
it { should exist }
its('location') { should cmp 'europe-west2'.upcase }
its('storage_class') { should eq "STANDARD" }
its('labels') { should include("key" => "value") }
its('retention_policy.retention_period') { should cmp 1000 }
end
describe google_storage_bucket(name: "nonexistent") do
it { should_not exist }
end
Проверка, что ведро GCP хранилища находится в ожидаемом расположении
describe google_storage_bucket(name: 'chef-inspec-gcp-storage-bucket-abcd') do
its('location') { should eq "EUROPE-WEST2" }
end
Проверка, что ведро GCP хранилища имеет ожидаемый номер проекта
describe google_storage_bucket(name: 'chef-inspec-gcp-storage-bucket-abcd') do
its('project_number') {should eq 12345678 }
end
Проверка, что ведро GCP хранилища имеет ожидаемый класс хранения
describe google_storage_bucket(name: 'chef-inspec-gcp-storage-bucket-abcd') do
its('storage_class') { should eq 'STANDARD' }
end
Свойства
Свойства, доступные для ресурса google_storage_bucket:
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.
entity_id- Идентификатор сущности
id- Идентификатор записи управления доступом.
project_team- Команда проекта, связанная с сущностью
project_number- Команда проекта, связанная с сущностью
team- Команда.
Возможные значения:
- editors
- owners
- viewers
role- Разрешение доступа для сущности.
Возможные значения:
- OWNER
- READER
- WRITER
cors- Настройка CORS (Cross-Origin Resource Sharing) ведра.
max_age_seconds: Значение в секундах, возвращаемое в заголовке Access-Control-Max-Age, используемом в ответах на предварительные запросы.method: Список HTTP-методов, для которых включаются заголовки ответа CORS (GET, OPTIONS, POST и т. д.). Примечание: «*» разрешен в списке методов и означает «любой метод».origin: Список источников (Origins), которым разрешены заголовки ответа CORS. Примечание: «*» разрешен в списке источников и означает «любой источник».response_header: Список HTTP-заголовков (кроме простых заголовков ответа), разрешающих общие данные между доменными зонами. default_event_based_hold- Автоматически применять eventBasedHold к новым объектам, добавленным в ведро.
default_object_acl- Значения по умолчанию для контроля доступа к новым объектам, если 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
entity_id- Идентификатор сущности
generation- Номер генерации содержимого объекта, если он применен к объекту.
id- Идентификатор записи контроля доступа.
object- Название объекта, если он применен к объекту.
project_team- Команда проекта, связанная с сущностью
project_number- Команда проекта, связанная с сущностью
team- Команда.
Возможные значения:
- editors
- owners
- viewers
role- Разрешение доступа для сущности.
Возможные значения:
- OWNER
- READER
id- Идентификатор ведра. Для ведер свойства id и name совпадают.
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, STANDARD и DURABLE_REDUCED_AVAILABILITY.
num_newer_versions- Актуально только для версионированных объектов. Если значение равно N, это условие выполняется, когда есть как минимум N версий (включая активную версию) новее этой версии объекта.
location- Расположение ведра. Данные объектов в ведре хранятся в физическом хранилище в этом регионе. По умолчанию — US. См. руководство разработчика для получения актуального списка.
logging- Настройка ведения журнала ведра, определяющая целевое ведро и необязательный префикс имени для журналов текущего ведра.
log_bucket- Целевое ведро, в котором должны храниться журналы текущего ведра.
log_object_prefix- Префикс имен объектов журнала.
metageneration- Номер генерации метаданных этого ведра.
name- Название ведра.
owner- Владелец ведра. Это всегда группа владельцев команды проекта.
entity- Сущность в формате project-owner-projectId.
entity_id- Идентификатор сущности.
project_number- Номер проекта, к которому принадлежит ведро.
storage_class- Класс хранения по умолчанию для ведра, используемый всякий раз, когда для вновь созданного объекта не указан storageClass. Он определяет, как хранятся объекты в ведре, и определяет SLA и стоимость хранения. Значения включают MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE и DURABLE_REDUCED_AVAILABILITY. Если это значение не указано при создании ведра, оно будет по умолчанию равно STANDARD. Для получения дополнительной информации см. классы хранения.
Возможные значения:
- MULTI_REGIONAL
- REGIONAL
- STANDARD
- NEARLINE
- COLDLINE
- DURABLE_REDUCED_AVAILABILITY
time_created- Время создания ведра в формате RFC 3339.
updated- Время изменения ведра в формате RFC 3339.
versioning- Конфигурация версии ведра.
enabled- При значении true, версия включена для этого ведра.
website- Настройка веб-сайта ведра, управляющая поведением службы при доступе к содержимому ведра как к веб-сайту. См. примеры статических веб-сайтов для получения дополнительной информации.
main_page_suffix- Если запрашиваемый путь к объекту отсутствует, служба добавит к пути завершающий «/», попытается получить соответствующий объект. Это позволяет создавать объекты index.html для представления страниц каталогов.
not_found_page- Если запрашиваемый путь к объекту отсутствует и объект mainPageSuffix отсутствует, служба вернет указанный объект из этого ведра как содержимое для результата 404 «Не найдено».
labels- Метки, примененные к этому ведру. Список пар ключ-значение.
encryption- Настройка шифрования для ведра.
default_kms_key_name- Ключ Cloud KMS, который будет использоваться для шифрования объектов, вставленных в это ведро, если метод шифрования не указан.
retention_policy- Политика хранения для ведра
effective_time- Время, с которого действовала политика хранения.
is_locked- Заблокирована ли политика хранения. Если true, политика хранения не может быть удалена, а период не может быть уменьшен.
retention_period- Период времени в секундах, в течение которого объекты в ведре должны храниться и не могут быть удалены, перезаписаны или сделаны неактуальными.
project- Действительный идентификатор проекта API.
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
Разрешения GCP
Убедитесь, что Google Cloud Storage включен для текущего проекта.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_storage_bucket/