Ресурс google_bigquery_dataset
Синтаксис
Для проверки ресурса набора данных Google используется google_bigquery_dataset
Примеры
describe google_bigquery_dataset(project: 'chef-gcp-inspec', name: 'inspec_gcp_dataset') do
it { should exist }
its('friendly_name') { should eq 'A BigQuery dataset test' }
its('location') { should eq 'EU' }
its('description') { should eq 'Test BigQuery dataset description' }
its('name') { should eq 'inspec_gcp_dataset' }
its('default_table_expiration_ms') { should cmp '3600000' }
end
describe.one do
google_bigquery_dataset(project: 'chef-gcp-inspec', name: 'inspec_gcp_dataset').access.each do |dataset_access|
describe dataset_access do
its('role') { should eq 'WRITER' }
its('special_group') { should eq 'projectWriters' }
end
end
end
describe google_bigquery_dataset(project: 'chef-gcp-inspec', name: 'nonexistent') do
it { should_not exist }
end
Свойства
Свойства, доступные для ресурса google_bigquery_dataset:
access- Массив объектов, определяющих доступ к набору данных для одного или нескольких объектов.
domain- Домен, которому предоставляется доступ. Любой пользователь, вошедший в систему с указанным доменом, получит указанный доступ.
group_by_email- Адрес электронной почты группы Google, которой предоставляется доступ.
role- Описание прав, предоставленных пользователю, указанному в другом элементе доступа. Поддерживаются базовые, предопределенные и настраиваемые роли. Предопределенные роли, эквивалентные базовым ролям, API заменяет на свои базовые аналоги. См. официальную документацию.
special_group- Особая группа, которой предоставляется доступ.
Возможные значения:
-
projectOwners: Владельцы проекта. -
projectReaders: Читатели проекта. -
projectWriters: Пишущие в проект. -
allAuthenticatedUsers: Все авторизованные пользователи BigQuery.
-
user_by_email- Адрес электронной почты пользователя, которому предоставляется доступ. Например: fred@example.com
iam_member- Другой тип участника, присутствующего в политике IAM, но не являющийся пользователем, группой, доменом или специальной группой. Например:
allUsers view- Вид из другого набора данных, которому предоставляется доступ. Запросы, выполненные против этого вида, будут иметь доступ для чтения к таблицам в этом наборе данных. Поле role не требуется, когда это поле установлено. Если этот вид обновляется любым пользователем, доступ к виду необходимо предоставить заново с помощью операции обновления.
dataset_id- Идентификатор набора данных, содержащего эту таблицу.
project_id- Идентификатор проекта, содержащего эту таблицу.
table_id- Идентификатор таблицы. Идентификатор должен содержать только буквы (a-z, A-Z), цифры (0-9) или символы подчеркивания (_). Максимальная длина — 1024 символа.
creation_time- Время создания этого набора данных в миллисекундах с начала эпохи.
dataset_reference- Ссылка, определяющая набор данных.
dataset_id- Уникальный идентификатор этого набора данных без имени проекта. Идентификатор должен содержать только буквы (a-z, A-Z), цифры (0-9) или символы подчеркивания (_). Максимальная длина — 1024 символа.
project_id- Идентификатор проекта, содержащего этот набор данных.
default_table_expiration_ms- Срок действия по умолчанию всех таблиц в наборе данных в миллисекундах. Минимальное значение — 3600000 миллисекунд (один час). После установки этого свойства у всех вновь созданных таблиц в наборе данных будет установлено свойство
expirationTime, равное времени создания плюс значение в этом свойстве, а изменение значения будет влиять только на новые таблицы, а не на существующие. КогдаexpirationTimeдля данной таблицы истечет, эта таблица будет автоматически удалена. Если свойствоexpirationTimeтаблицы изменено или удалено до истечения срока ее действия, или если вы укажете явное значениеexpirationTimeпри создании таблицы, это значение будет иметь приоритет над временем истечения по умолчанию, указанным в этом свойстве. default_partition_expiration_ms- Срок действия по умолчанию для всех разделяемых по частям таблиц в наборе данных в миллисекундах. После установки этого свойства у всех новых разделяемых по частям таблиц в наборе данных будет свойство
expirationMsв настройкахtimePartitioningустановлено на это значение, а изменение значения будет влиять только на новые таблицы, а не на существующие. Хранение в разделе будет иметь срок действия, равный времени раздела плюс это значение. Установка этого свойства переопределяет использованиеdefaultTableExpirationMsдля разделяемых по частям таблиц: только одно изdefaultTableExpirationMsиdefaultPartitionExpirationMsбудет использоваться для любой новой разделяемой по частям таблицы. Если при создании или обновлении разделяемой по частям таблицы вы укажете явное значениеtimePartitioning.expirationMs, это значение будет иметь приоритет над временем истечения раздела по умолчанию, указанным в этом свойстве. description- Наглядное описание набора данных.
etag- Хэш ресурса.
friendly_name- Дескриптивное имя набора данных.
id- Полное, уникальное имя набора данных в формате projectId:datasetId. Имя набора данных без имени проекта указано в поле datasetId
labels- Метки, связанные с этим набором данных. Их можно использовать для организации и группировки наборов данных.
last_modified_time- Дата последнего изменения этого набора данных или любой из его таблиц в миллисекундах с начала эпохи.
location- Географическое расположение, где должен находиться набор данных. См. официальную документацию. Существуют два типа расположений: региональные и многорегиональные. Региональное расположение — это конкретное географическое место, например Токио, а многорегиональное расположение — большая географическая зона, например США, содержащая, по крайней мере, два географических места. Возможные региональные значения:
asia-east1,asia-northeast1,asia-southeast1,australia-southeast1,europe-north1,europe-west2иus-east4. Возможные многорегиональные значения:EUиUS. Значение по умолчанию — многорегиональное расположениеUS. Изменение этого значения приводит к созданию нового ресурса. default_encryption_configuration- Ключ шифрования по умолчанию для всех таблиц в наборе данных. После установки этого свойства у всех новых разделяемых по частям таблиц в наборе данных будет установлен ключ шифрования, если запрос (или запрос) создания таблицы не переопределяет ключ.
kms_key_name- Описание ключа шифрования Cloud KMS, который будет использоваться для защиты целевой таблицы BigQuery. Учетная запись службы BigQuery, связанная с вашим проектом, должна иметь доступ к этому ключу шифрования.
Разрешения GCP
Убедитесь, что для текущего проекта включен API BigQuery.
© 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_bigquery_dataset/