Ресурс google_storage_bucket
Синтаксис
Используется google_storage_bucket, чтобы проверить ресурс Google 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 for Business 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 ответа. Примечание: «*» разрешено в списке origins и означает «любой Origin».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, ARCHIVE и 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, ARCHIVE и DURABLE_REDUCED_AVAILABILITY. Если это значение не указано при создании ведра, оно будет по умолчанию STANDARD. Для получения дополнительной информации см. типы хранилищ.
Возможные значения:
- MULTI_REGIONAL
- REGIONAL
- STANDARD
- NEARLINE
- COLDLINE
- ARCHIVE
- DURABLE_REDUCED_AVAILABILITY
time_created- Время создания ведра в формате RFC 3339.
updated- Время изменения ведра в формате RFC 3339.
versioning- Настройка версионирования ведра.
enabled- При установке в true, версионирование полностью включено для этого ведра.
website- Настройка веб-сайта ведра, контролирующая поведение службы при доступе к содержимому ведра как к веб-сайту. См. примеры статических веб-сайтов для получения дополнительной информации.
main_page_suffix- Если запрошенный путь к объекту отсутствует, служба добавит к пути конечный символ '/', добавит этот суффикс и попытается извлечь полученный объект. Это позволяет создавать объекты index.html для представления страниц каталога.
not_found_page- Если запрошенный путь к объекту отсутствует, и объект mainPageSuffix отсутствует, если применимо, служба вернет указанный объект из этого ведра как содержимое для результата 404 Not Found.
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/