Ресурс google_bigquery_dataset
Синтаксис
Для проверки ресурса Google Dataset используется 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/