BIGTABLEADMIN

bigtableadmin.operations.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.operations.projects.operations.list

valid {
    input.ReqMap.name == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.appProfiles.create

enum_AppProfilePriority := [ "PRIORITY_UNSPECIFIED", "PRIORITY_LOW", "PRIORITY_MEDIUM", "PRIORITY_HIGH" ]
enum_DataBoostIsolationReadOnlyComputeBillingOwner := [ "COMPUTE_BILLING_OWNER_UNSPECIFIED", "HOST_PAYS" ]
enum_StandardIsolationPriority := [ "PRIORITY_UNSPECIFIED", "PRIORITY_LOW", "PRIORITY_MEDIUM", "PRIORITY_HIGH" ]

valid {
    input.Body.dataBoostIsolationReadOnly.computeBillingOwner == enum_DataBoostIsolationReadOnlyComputeBillingOwner[_]
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.multiClusterRoutingUseAny.clusterIds[_] == STRING
    input.Body.multiClusterRoutingUseAny.rowAffinity.STRING == STRING
    input.Body.name == STRING
    input.Body.priority == enum_AppProfilePriority[_]
    input.Body.singleClusterRouting.allowTransactionalWrites == BOOLEAN
    input.Body.singleClusterRouting.clusterId == STRING
    input.Body.standardIsolation.priority == enum_StandardIsolationPriority[_]
    input.ReqMap.parent == STRING
    input.Qs.appProfileId == STRING
    input.Qs.ignoreWarnings == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.appProfiles.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.ignoreWarnings == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.appProfiles.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.appProfiles.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.appProfiles.patch

enum_AppProfilePriority := [ "PRIORITY_UNSPECIFIED", "PRIORITY_LOW", "PRIORITY_MEDIUM", "PRIORITY_HIGH" ]
enum_DataBoostIsolationReadOnlyComputeBillingOwner := [ "COMPUTE_BILLING_OWNER_UNSPECIFIED", "HOST_PAYS" ]
enum_StandardIsolationPriority := [ "PRIORITY_UNSPECIFIED", "PRIORITY_LOW", "PRIORITY_MEDIUM", "PRIORITY_HIGH" ]

valid {
    input.Body.dataBoostIsolationReadOnly.computeBillingOwner == enum_DataBoostIsolationReadOnlyComputeBillingOwner[_]
    input.Body.description == STRING
    input.Body.etag == STRING
    input.Body.multiClusterRoutingUseAny.clusterIds[_] == STRING
    input.Body.multiClusterRoutingUseAny.rowAffinity.STRING == STRING
    input.Body.name == STRING
    input.Body.priority == enum_AppProfilePriority[_]
    input.Body.singleClusterRouting.allowTransactionalWrites == BOOLEAN
    input.Body.singleClusterRouting.clusterId == STRING
    input.Body.standardIsolation.priority == enum_StandardIsolationPriority[_]
    input.ReqMap.name == STRING
    input.Qs.ignoreWarnings == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.backups.copy

valid {
    input.Body.backupId == STRING
    input.Body.expireTime == STRING
    input.Body.sourceBackup == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.backups.create

enum_BackupBackupType := [ "BACKUP_TYPE_UNSPECIFIED", "STANDARD", "HOT" ]

valid {
    input.Body.backupType == enum_BackupBackupType[_]
    input.Body.expireTime == STRING
    input.Body.hotToStandardTime == STRING
    input.Body.name == STRING
    input.Body.sourceTable == STRING
    input.ReqMap.parent == STRING
    input.Qs.backupId == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.backups.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.backups.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.backups.getIamPolicy

valid {
    input.Body.options.requestedPolicyVersion == INTEGER
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.backups.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.filter == STRING
    input.Qs.orderBy == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.backups.patch

enum_BackupBackupType := [ "BACKUP_TYPE_UNSPECIFIED", "STANDARD", "HOT" ]

valid {
    input.Body.backupType == enum_BackupBackupType[_]
    input.Body.expireTime == STRING
    input.Body.hotToStandardTime == STRING
    input.Body.name == STRING
    input.Body.sourceTable == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.backups.setIamPolicy

enum_AuditLogConfigLogType := [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", "DATA_WRITE", "DATA_READ" ]

valid {
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].exemptedMembers[_] == STRING
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].logType == enum_AuditLogConfigLogType[_]
    input.Body.policy.auditConfigs[_].service == STRING
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.Body.updateMask == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.backups.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.create

enum_ClusterDefaultStorageType := [ "STORAGE_TYPE_UNSPECIFIED", "SSD", "HDD" ]
enum_ClusterNodeScalingFactor := [ "NODE_SCALING_FACTOR_UNSPECIFIED", "NODE_SCALING_FACTOR_1X", "NODE_SCALING_FACTOR_2X" ]

valid {
    input.Body.clusterConfig.clusterAutoscalingConfig.autoscalingLimits.maxServeNodes == INTEGER
    input.Body.clusterConfig.clusterAutoscalingConfig.autoscalingLimits.minServeNodes == INTEGER
    input.Body.clusterConfig.clusterAutoscalingConfig.autoscalingTargets.cpuUtilizationPercent == INTEGER
    input.Body.clusterConfig.clusterAutoscalingConfig.autoscalingTargets.storageUtilizationGibPerNode == INTEGER
    input.Body.defaultStorageType == enum_ClusterDefaultStorageType[_]
    input.Body.encryptionConfig.kmsKeyName == STRING
    input.Body.location == STRING
    input.Body.name == STRING
    input.Body.nodeScalingFactor == enum_ClusterNodeScalingFactor[_]
    input.Body.serveNodes == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.clusterId == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.hotTablets.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.endTime == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.startTime == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.partialUpdateCluster

enum_ClusterDefaultStorageType := [ "STORAGE_TYPE_UNSPECIFIED", "SSD", "HDD" ]
enum_ClusterNodeScalingFactor := [ "NODE_SCALING_FACTOR_UNSPECIFIED", "NODE_SCALING_FACTOR_1X", "NODE_SCALING_FACTOR_2X" ]

valid {
    input.Body.clusterConfig.clusterAutoscalingConfig.autoscalingLimits.maxServeNodes == INTEGER
    input.Body.clusterConfig.clusterAutoscalingConfig.autoscalingLimits.minServeNodes == INTEGER
    input.Body.clusterConfig.clusterAutoscalingConfig.autoscalingTargets.cpuUtilizationPercent == INTEGER
    input.Body.clusterConfig.clusterAutoscalingConfig.autoscalingTargets.storageUtilizationGibPerNode == INTEGER
    input.Body.defaultStorageType == enum_ClusterDefaultStorageType[_]
    input.Body.encryptionConfig.kmsKeyName == STRING
    input.Body.location == STRING
    input.Body.name == STRING
    input.Body.nodeScalingFactor == enum_ClusterNodeScalingFactor[_]
    input.Body.serveNodes == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.clusters.update

enum_ClusterDefaultStorageType := [ "STORAGE_TYPE_UNSPECIFIED", "SSD", "HDD" ]
enum_ClusterNodeScalingFactor := [ "NODE_SCALING_FACTOR_UNSPECIFIED", "NODE_SCALING_FACTOR_1X", "NODE_SCALING_FACTOR_2X" ]

valid {
    input.Body.clusterConfig.clusterAutoscalingConfig.autoscalingLimits.maxServeNodes == INTEGER
    input.Body.clusterConfig.clusterAutoscalingConfig.autoscalingLimits.minServeNodes == INTEGER
    input.Body.clusterConfig.clusterAutoscalingConfig.autoscalingTargets.cpuUtilizationPercent == INTEGER
    input.Body.clusterConfig.clusterAutoscalingConfig.autoscalingTargets.storageUtilizationGibPerNode == INTEGER
    input.Body.defaultStorageType == enum_ClusterDefaultStorageType[_]
    input.Body.encryptionConfig.kmsKeyName == STRING
    input.Body.location == STRING
    input.Body.name == STRING
    input.Body.nodeScalingFactor == enum_ClusterNodeScalingFactor[_]
    input.Body.serveNodes == INTEGER
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.create

enum_ClusterDefaultStorageType := [ "STORAGE_TYPE_UNSPECIFIED", "SSD", "HDD" ]
enum_ClusterNodeScalingFactor := [ "NODE_SCALING_FACTOR_UNSPECIFIED", "NODE_SCALING_FACTOR_1X", "NODE_SCALING_FACTOR_2X" ]
enum_InstanceType := [ "TYPE_UNSPECIFIED", "PRODUCTION", "DEVELOPMENT" ]

valid {
    input.Body.clusters.STRING.clusterConfig.clusterAutoscalingConfig.autoscalingLimits.maxServeNodes == INTEGER
    input.Body.clusters.STRING.clusterConfig.clusterAutoscalingConfig.autoscalingLimits.minServeNodes == INTEGER
    input.Body.clusters.STRING.clusterConfig.clusterAutoscalingConfig.autoscalingTargets.cpuUtilizationPercent == INTEGER
    input.Body.clusters.STRING.clusterConfig.clusterAutoscalingConfig.autoscalingTargets.storageUtilizationGibPerNode == INTEGER
    input.Body.clusters.STRING.defaultStorageType == enum_ClusterDefaultStorageType[_]
    input.Body.clusters.STRING.encryptionConfig.kmsKeyName == STRING
    input.Body.clusters.STRING.location == STRING
    input.Body.clusters.STRING.name == STRING
    input.Body.clusters.STRING.nodeScalingFactor == enum_ClusterNodeScalingFactor[_]
    input.Body.clusters.STRING.serveNodes == INTEGER
    input.Body.instance.displayName == STRING
    input.Body.instance.labels.STRING == STRING
    input.Body.instance.name == STRING
    input.Body.instance.type == enum_InstanceType[_]
    input.Body.instanceId == STRING
    input.Body.parent == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.get

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.getIamPolicy

valid {
    input.Body.options.requestedPolicyVersion == INTEGER
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.list

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.partialUpdateInstance

enum_InstanceType := [ "TYPE_UNSPECIFIED", "PRODUCTION", "DEVELOPMENT" ]

valid {
    input.Body.displayName == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.type == enum_InstanceType[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.setIamPolicy

enum_AuditLogConfigLogType := [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", "DATA_WRITE", "DATA_READ" ]

valid {
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].exemptedMembers[_] == STRING
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].logType == enum_AuditLogConfigLogType[_]
    input.Body.policy.auditConfigs[_].service == STRING
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.Body.updateMask == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.authorizedViews.create

valid {
    input.Body.deletionProtection == BOOLEAN
    input.Body.etag == STRING
    input.Body.name == STRING
    input.Body.subsetView.familySubsets.STRING.qualifierPrefixes[_] == STRING
    input.Body.subsetView.familySubsets.STRING.qualifiers[_] == STRING
    input.Body.subsetView.rowPrefixes[_] == STRING
    input.ReqMap.parent == STRING
    input.Qs.authorizedViewId == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.authorizedViews.delete

valid {
    input.ReqMap.name == STRING
    input.Qs.etag == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.authorizedViews.get

enum_ViewParameter := [ "RESPONSE_VIEW_UNSPECIFIED", "NAME_ONLY", "BASIC", "FULL" ]

valid {
    input.ReqMap.name == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.authorizedViews.getIamPolicy

valid {
    input.Body.options.requestedPolicyVersion == INTEGER
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.authorizedViews.list

enum_ViewParameter := [ "RESPONSE_VIEW_UNSPECIFIED", "NAME_ONLY", "BASIC", "FULL" ]

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.authorizedViews.patch

valid {
    input.Body.deletionProtection == BOOLEAN
    input.Body.etag == STRING
    input.Body.name == STRING
    input.Body.subsetView.familySubsets.STRING.qualifierPrefixes[_] == STRING
    input.Body.subsetView.familySubsets.STRING.qualifiers[_] == STRING
    input.Body.subsetView.rowPrefixes[_] == STRING
    input.ReqMap.name == STRING
    input.Qs.ignoreWarnings == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.authorizedViews.setIamPolicy

enum_AuditLogConfigLogType := [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", "DATA_WRITE", "DATA_READ" ]

valid {
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].exemptedMembers[_] == STRING
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].logType == enum_AuditLogConfigLogType[_]
    input.Body.policy.auditConfigs[_].service == STRING
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.Body.updateMask == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.authorizedViews.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.checkConsistency

valid {
    input.Body.consistencyToken == STRING
    input.Body.dataBoostReadLocalWrites.STRING == STRING
    input.Body.standardReadRemoteWrites.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.create

enum_TableGranularity := [ "TIMESTAMP_GRANULARITY_UNSPECIFIED", "MILLIS" ]

valid {
    input.Body.initialSplits[_].key == STRING
    input.Body.table.automatedBackupPolicy.frequency == STRING
    input.Body.table.automatedBackupPolicy.retentionPeriod == STRING
    input.Body.table.changeStreamConfig.retentionPeriod == STRING
    input.Body.table.columnFamilies.STRING.gcRule.intersection.rules[_] == NESTED
    input.Body.table.columnFamilies.STRING.gcRule.maxAge == STRING
    input.Body.table.columnFamilies.STRING.gcRule.maxNumVersions == INTEGER
    input.Body.table.columnFamilies.STRING.gcRule.union.rules[_] == NESTED
    input.Body.table.columnFamilies.STRING.valueType.aggregateType.hllppUniqueCount.STRING == STRING
    input.Body.table.columnFamilies.STRING.valueType.aggregateType.inputType == NESTED
    input.Body.table.columnFamilies.STRING.valueType.aggregateType.max.STRING == STRING
    input.Body.table.columnFamilies.STRING.valueType.aggregateType.min.STRING == STRING
    input.Body.table.columnFamilies.STRING.valueType.aggregateType.sum.STRING == STRING
    input.Body.table.columnFamilies.STRING.valueType.arrayType.elementType == NESTED
    input.Body.table.columnFamilies.STRING.valueType.boolType.STRING == STRING
    input.Body.table.columnFamilies.STRING.valueType.bytesType.encoding.raw.STRING == STRING
    input.Body.table.columnFamilies.STRING.valueType.dateType.STRING == STRING
    input.Body.table.columnFamilies.STRING.valueType.float32Type.STRING == STRING
    input.Body.table.columnFamilies.STRING.valueType.float64Type.STRING == STRING
    input.Body.table.columnFamilies.STRING.valueType.int64Type.encoding.bigEndianBytes.bytesType.encoding.raw.STRING == STRING
    input.Body.table.columnFamilies.STRING.valueType.mapType.keyType == NESTED
    input.Body.table.columnFamilies.STRING.valueType.mapType.valueType == NESTED
    input.Body.table.columnFamilies.STRING.valueType.stringType.encoding.utf8Bytes.STRING == STRING
    input.Body.table.columnFamilies.STRING.valueType.stringType.encoding.utf8Raw.STRING == STRING
    input.Body.table.columnFamilies.STRING.valueType.structType.fields[_].fieldName == STRING
    input.Body.table.columnFamilies.STRING.valueType.structType.fields[_].type == NESTED
    input.Body.table.columnFamilies.STRING.valueType.timestampType.STRING == STRING
    input.Body.table.deletionProtection == BOOLEAN
    input.Body.table.granularity == enum_TableGranularity[_]
    input.Body.table.name == STRING
    input.Body.tableId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.delete

valid {
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.dropRowRange

valid {
    input.Body.deleteAllDataFromTable == BOOLEAN
    input.Body.rowKeyPrefix == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.generateConsistencyToken

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.get

enum_ViewParameter := [ "VIEW_UNSPECIFIED", "NAME_ONLY", "SCHEMA_VIEW", "REPLICATION_VIEW", "ENCRYPTION_VIEW", "STATS_VIEW", "FULL" ]

valid {
    input.ReqMap.name == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.getIamPolicy

valid {
    input.Body.options.requestedPolicyVersion == INTEGER
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.list

enum_ViewParameter := [ "VIEW_UNSPECIFIED", "NAME_ONLY", "SCHEMA_VIEW", "REPLICATION_VIEW", "ENCRYPTION_VIEW", "STATS_VIEW", "FULL" ]

valid {
    input.ReqMap.parent == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.Qs.view == enum_ViewParameter[_]
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.modifyColumnFamilies

valid {
    input.Body.ignoreWarnings == BOOLEAN
    input.Body.modifications[_].create.gcRule.intersection.rules[_] == NESTED
    input.Body.modifications[_].create.gcRule.maxAge == STRING
    input.Body.modifications[_].create.gcRule.maxNumVersions == INTEGER
    input.Body.modifications[_].create.gcRule.union.rules[_] == NESTED
    input.Body.modifications[_].create.valueType.aggregateType.hllppUniqueCount.STRING == STRING
    input.Body.modifications[_].create.valueType.aggregateType.inputType == NESTED
    input.Body.modifications[_].create.valueType.aggregateType.max.STRING == STRING
    input.Body.modifications[_].create.valueType.aggregateType.min.STRING == STRING
    input.Body.modifications[_].create.valueType.aggregateType.sum.STRING == STRING
    input.Body.modifications[_].create.valueType.arrayType.elementType == NESTED
    input.Body.modifications[_].create.valueType.boolType.STRING == STRING
    input.Body.modifications[_].create.valueType.bytesType.encoding.raw.STRING == STRING
    input.Body.modifications[_].create.valueType.dateType.STRING == STRING
    input.Body.modifications[_].create.valueType.float32Type.STRING == STRING
    input.Body.modifications[_].create.valueType.float64Type.STRING == STRING
    input.Body.modifications[_].create.valueType.int64Type.encoding.bigEndianBytes.bytesType.encoding.raw.STRING == STRING
    input.Body.modifications[_].create.valueType.mapType.keyType == NESTED
    input.Body.modifications[_].create.valueType.mapType.valueType == NESTED
    input.Body.modifications[_].create.valueType.stringType.encoding.utf8Bytes.STRING == STRING
    input.Body.modifications[_].create.valueType.stringType.encoding.utf8Raw.STRING == STRING
    input.Body.modifications[_].create.valueType.structType.fields[_].fieldName == STRING
    input.Body.modifications[_].create.valueType.structType.fields[_].type == NESTED
    input.Body.modifications[_].create.valueType.timestampType.STRING == STRING
    input.Body.modifications[_].drop == BOOLEAN
    input.Body.modifications[_].id == STRING
    input.Body.modifications[_].update.gcRule.intersection.rules[_] == NESTED
    input.Body.modifications[_].update.gcRule.maxAge == STRING
    input.Body.modifications[_].update.gcRule.maxNumVersions == INTEGER
    input.Body.modifications[_].update.gcRule.union.rules[_] == NESTED
    input.Body.modifications[_].update.valueType.aggregateType.hllppUniqueCount.STRING == STRING
    input.Body.modifications[_].update.valueType.aggregateType.inputType == NESTED
    input.Body.modifications[_].update.valueType.aggregateType.max.STRING == STRING
    input.Body.modifications[_].update.valueType.aggregateType.min.STRING == STRING
    input.Body.modifications[_].update.valueType.aggregateType.sum.STRING == STRING
    input.Body.modifications[_].update.valueType.arrayType.elementType == NESTED
    input.Body.modifications[_].update.valueType.boolType.STRING == STRING
    input.Body.modifications[_].update.valueType.bytesType.encoding.raw.STRING == STRING
    input.Body.modifications[_].update.valueType.dateType.STRING == STRING
    input.Body.modifications[_].update.valueType.float32Type.STRING == STRING
    input.Body.modifications[_].update.valueType.float64Type.STRING == STRING
    input.Body.modifications[_].update.valueType.int64Type.encoding.bigEndianBytes.bytesType.encoding.raw.STRING == STRING
    input.Body.modifications[_].update.valueType.mapType.keyType == NESTED
    input.Body.modifications[_].update.valueType.mapType.valueType == NESTED
    input.Body.modifications[_].update.valueType.stringType.encoding.utf8Bytes.STRING == STRING
    input.Body.modifications[_].update.valueType.stringType.encoding.utf8Raw.STRING == STRING
    input.Body.modifications[_].update.valueType.structType.fields[_].fieldName == STRING
    input.Body.modifications[_].update.valueType.structType.fields[_].type == NESTED
    input.Body.modifications[_].update.valueType.timestampType.STRING == STRING
    input.Body.modifications[_].updateMask == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.patch

enum_TableGranularity := [ "TIMESTAMP_GRANULARITY_UNSPECIFIED", "MILLIS" ]

valid {
    input.Body.automatedBackupPolicy.frequency == STRING
    input.Body.automatedBackupPolicy.retentionPeriod == STRING
    input.Body.changeStreamConfig.retentionPeriod == STRING
    input.Body.columnFamilies.STRING.gcRule.intersection.rules[_] == NESTED
    input.Body.columnFamilies.STRING.gcRule.maxAge == STRING
    input.Body.columnFamilies.STRING.gcRule.maxNumVersions == INTEGER
    input.Body.columnFamilies.STRING.gcRule.union.rules[_] == NESTED
    input.Body.columnFamilies.STRING.valueType.aggregateType.hllppUniqueCount.STRING == STRING
    input.Body.columnFamilies.STRING.valueType.aggregateType.inputType == NESTED
    input.Body.columnFamilies.STRING.valueType.aggregateType.max.STRING == STRING
    input.Body.columnFamilies.STRING.valueType.aggregateType.min.STRING == STRING
    input.Body.columnFamilies.STRING.valueType.aggregateType.sum.STRING == STRING
    input.Body.columnFamilies.STRING.valueType.arrayType.elementType == NESTED
    input.Body.columnFamilies.STRING.valueType.boolType.STRING == STRING
    input.Body.columnFamilies.STRING.valueType.bytesType.encoding.raw.STRING == STRING
    input.Body.columnFamilies.STRING.valueType.dateType.STRING == STRING
    input.Body.columnFamilies.STRING.valueType.float32Type.STRING == STRING
    input.Body.columnFamilies.STRING.valueType.float64Type.STRING == STRING
    input.Body.columnFamilies.STRING.valueType.int64Type.encoding.bigEndianBytes.bytesType.encoding.raw.STRING == STRING
    input.Body.columnFamilies.STRING.valueType.mapType.keyType == NESTED
    input.Body.columnFamilies.STRING.valueType.mapType.valueType == NESTED
    input.Body.columnFamilies.STRING.valueType.stringType.encoding.utf8Bytes.STRING == STRING
    input.Body.columnFamilies.STRING.valueType.stringType.encoding.utf8Raw.STRING == STRING
    input.Body.columnFamilies.STRING.valueType.structType.fields[_].fieldName == STRING
    input.Body.columnFamilies.STRING.valueType.structType.fields[_].type == NESTED
    input.Body.columnFamilies.STRING.valueType.timestampType.STRING == STRING
    input.Body.deletionProtection == BOOLEAN
    input.Body.granularity == enum_TableGranularity[_]
    input.Body.name == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.restore

valid {
    input.Body.backup == STRING
    input.Body.tableId == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.setIamPolicy

enum_AuditLogConfigLogType := [ "LOG_TYPE_UNSPECIFIED", "ADMIN_READ", "DATA_WRITE", "DATA_READ" ]

valid {
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].exemptedMembers[_] == STRING
    input.Body.policy.auditConfigs[_].auditLogConfigs[_].logType == enum_AuditLogConfigLogType[_]
    input.Body.policy.auditConfigs[_].service == STRING
    input.Body.policy.bindings[_].condition.description == STRING
    input.Body.policy.bindings[_].condition.expression == STRING
    input.Body.policy.bindings[_].condition.location == STRING
    input.Body.policy.bindings[_].condition.title == STRING
    input.Body.policy.bindings[_].members[_] == STRING
    input.Body.policy.bindings[_].role == STRING
    input.Body.policy.etag == STRING
    input.Body.policy.version == INTEGER
    input.Body.updateMask == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.tables.undelete

valid {
    input.Body.STRING == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.testIamPermissions

valid {
    input.Body.permissions[_] == STRING
    input.ReqMap.resource == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.instances.update

enum_InstanceType := [ "TYPE_UNSPECIFIED", "PRODUCTION", "DEVELOPMENT" ]

valid {
    input.Body.displayName == STRING
    input.Body.labels.STRING == STRING
    input.Body.name == STRING
    input.Body.type == enum_InstanceType[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

bigtableadmin.projects.locations.list

valid {
    input.ReqMap.name == STRING
    input.Qs.filter == STRING
    input.Qs.pageSize == INTEGER
    input.Qs.pageToken == STRING
    input.ProviderMetadata.Region == STRING
}