logging.billingAccounts.exclusions.create

valid {
    input.Body.description == STRING
    input.Body.disabled == BOOLEAN
    input.Body.filter == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.exclusions.delete

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

logging.billingAccounts.exclusions.get

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

logging.billingAccounts.exclusions.list

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

logging.billingAccounts.exclusions.patch

valid {
    input.Body.description == STRING
    input.Body.disabled == BOOLEAN
    input.Body.filter == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.getCmekSettings

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

logging.billingAccounts.getSettings

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

logging.billingAccounts.locations.buckets.create

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.bucketId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.locations.buckets.createAsync

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.bucketId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.locations.buckets.delete

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

logging.billingAccounts.locations.buckets.get

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

logging.billingAccounts.locations.buckets.links.create

valid {
    input.Body.bigqueryDataset == {}
    input.Body.description == STRING
    input.ReqMap.parent == STRING
    input.Qs.linkId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.locations.buckets.links.delete

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

logging.billingAccounts.locations.buckets.links.get

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

logging.billingAccounts.locations.buckets.links.list

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

logging.billingAccounts.locations.buckets.list

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

logging.billingAccounts.locations.buckets.patch

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.locations.buckets.undelete

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

logging.billingAccounts.locations.buckets.updateAsync

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.locations.buckets.views.create

valid {
    input.Body.description == STRING
    input.Body.filter == STRING
    input.ReqMap.parent == STRING
    input.Qs.viewId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.locations.buckets.views.delete

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

logging.billingAccounts.locations.buckets.views.get

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

logging.billingAccounts.locations.buckets.views.list

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

logging.billingAccounts.locations.buckets.views.logs.list

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

logging.billingAccounts.locations.buckets.views.patch

valid {
    input.Body.description == STRING
    input.Body.filter == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.locations.get

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

logging.billingAccounts.locations.list

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

logging.billingAccounts.locations.operations.cancel

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

logging.billingAccounts.locations.operations.get

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

logging.billingAccounts.locations.operations.list

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

logging.billingAccounts.locations.recentQueries.list

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

logging.billingAccounts.locations.savedQueries.create

enum_SavedQueryVisibility := [ "VISIBILITY_UNSPECIFIED", "PRIVATE", "SHARED" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.loggingQuery.filter == STRING
    input.Body.loggingQuery.summaryFieldEnd == INTEGER
    input.Body.loggingQuery.summaryFieldStart == INTEGER
    input.Body.loggingQuery.summaryFields[_].field == STRING
    input.Body.opsAnalyticsQuery.sqlQueryText == STRING
    input.Body.visibility == enum_SavedQueryVisibility[_]
    input.ReqMap.parent == STRING
    input.Qs.savedQueryId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.locations.savedQueries.delete

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

logging.billingAccounts.locations.savedQueries.get

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

logging.billingAccounts.locations.savedQueries.list

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

logging.billingAccounts.locations.savedQueries.patch

enum_SavedQueryVisibility := [ "VISIBILITY_UNSPECIFIED", "PRIVATE", "SHARED" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.loggingQuery.filter == STRING
    input.Body.loggingQuery.summaryFieldEnd == INTEGER
    input.Body.loggingQuery.summaryFieldStart == INTEGER
    input.Body.loggingQuery.summaryFields[_].field == STRING
    input.Body.opsAnalyticsQuery.sqlQueryText == STRING
    input.Body.visibility == enum_SavedQueryVisibility[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.logs.delete

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

logging.billingAccounts.logs.list

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

logging.billingAccounts.sinks.create

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.parent == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.sinks.delete

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

logging.billingAccounts.sinks.get

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

logging.billingAccounts.sinks.list

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

logging.billingAccounts.sinks.patch

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.sinkName == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.billingAccounts.sinks.update

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.sinkName == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.entries.copy

valid {
    input.Body.destination == STRING
    input.Body.filter == STRING
    input.Body.name == STRING
    input.ProviderMetadata.Region == STRING
}

logging.entries.list

valid {
    input.Body.filter == STRING
    input.Body.orderBy == STRING
    input.Body.pageSize == INTEGER
    input.Body.pageToken == STRING
    input.Body.projectIds[_] == STRING
    input.Body.resourceNames[_] == STRING
    input.ProviderMetadata.Region == STRING
}

logging.entries.tail

valid {
    input.Body.bufferWindow == STRING
    input.Body.filter == STRING
    input.Body.resourceNames[_] == STRING
    input.ProviderMetadata.Region == STRING
}

logging.entries.write

enum_LogEntrySeverity := [ "DEFAULT", "DEBUG", "INFO", "NOTICE", "WARNING", "ERROR", "CRITICAL", "ALERT", "EMERGENCY" ]

valid {
    input.Body.dryRun == BOOLEAN
    input.Body.entries[_].httpRequest.cacheFillBytes == STRING
    input.Body.entries[_].httpRequest.cacheHit == BOOLEAN
    input.Body.entries[_].httpRequest.cacheLookup == BOOLEAN
    input.Body.entries[_].httpRequest.cacheValidatedWithOriginServer == BOOLEAN
    input.Body.entries[_].httpRequest.latency == STRING
    input.Body.entries[_].httpRequest.protocol == STRING
    input.Body.entries[_].httpRequest.referer == STRING
    input.Body.entries[_].httpRequest.remoteIp == STRING
    input.Body.entries[_].httpRequest.requestMethod == STRING
    input.Body.entries[_].httpRequest.requestSize == STRING
    input.Body.entries[_].httpRequest.requestUrl == STRING
    input.Body.entries[_].httpRequest.responseSize == STRING
    input.Body.entries[_].httpRequest.serverIp == STRING
    input.Body.entries[_].httpRequest.status == INTEGER
    input.Body.entries[_].httpRequest.userAgent == STRING
    input.Body.entries[_].insertId == STRING
    input.Body.entries[_].jsonPayload.STRING == ANY
    input.Body.entries[_].labels.STRING == STRING
    input.Body.entries[_].logName == STRING
    input.Body.entries[_].operation.first == BOOLEAN
    input.Body.entries[_].operation.id == STRING
    input.Body.entries[_].operation.last == BOOLEAN
    input.Body.entries[_].operation.producer == STRING
    input.Body.entries[_].protoPayload.STRING == ANY
    input.Body.entries[_].resource.labels.STRING == STRING
    input.Body.entries[_].resource.type == STRING
    input.Body.entries[_].severity == enum_LogEntrySeverity[_]
    input.Body.entries[_].sourceLocation.file == STRING
    input.Body.entries[_].sourceLocation.function == STRING
    input.Body.entries[_].sourceLocation.line == STRING
    input.Body.entries[_].spanId == STRING
    input.Body.entries[_].split.index == INTEGER
    input.Body.entries[_].split.totalSplits == INTEGER
    input.Body.entries[_].split.uid == STRING
    input.Body.entries[_].textPayload == STRING
    input.Body.entries[_].timestamp == STRING
    input.Body.entries[_].trace == STRING
    input.Body.entries[_].traceSampled == BOOLEAN
    input.Body.labels.STRING == STRING
    input.Body.logName == STRING
    input.Body.partialSuccess == BOOLEAN
    input.Body.resource.labels.STRING == STRING
    input.Body.resource.type == STRING
    input.ProviderMetadata.Region == STRING
}

logging.exclusions.create

valid {
    input.Body.description == STRING
    input.Body.disabled == BOOLEAN
    input.Body.filter == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

logging.exclusions.delete

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

logging.exclusions.get

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

logging.exclusions.list

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

logging.exclusions.patch

valid {
    input.Body.description == STRING
    input.Body.disabled == BOOLEAN
    input.Body.filter == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.exclusions.create

valid {
    input.Body.description == STRING
    input.Body.disabled == BOOLEAN
    input.Body.filter == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.exclusions.delete

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

logging.folders.exclusions.get

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

logging.folders.exclusions.list

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

logging.folders.exclusions.patch

valid {
    input.Body.description == STRING
    input.Body.disabled == BOOLEAN
    input.Body.filter == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.getCmekSettings

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

logging.folders.getSettings

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

logging.folders.locations.buckets.create

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.bucketId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.locations.buckets.createAsync

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.bucketId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.locations.buckets.delete

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

logging.folders.locations.buckets.get

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

logging.folders.locations.buckets.links.create

valid {
    input.Body.bigqueryDataset == {}
    input.Body.description == STRING
    input.ReqMap.parent == STRING
    input.Qs.linkId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.locations.buckets.links.delete

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

logging.folders.locations.buckets.links.get

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

logging.folders.locations.buckets.links.list

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

logging.folders.locations.buckets.list

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

logging.folders.locations.buckets.patch

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.locations.buckets.undelete

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

logging.folders.locations.buckets.updateAsync

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.locations.buckets.views.create

valid {
    input.Body.description == STRING
    input.Body.filter == STRING
    input.ReqMap.parent == STRING
    input.Qs.viewId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.locations.buckets.views.delete

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

logging.folders.locations.buckets.views.get

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

logging.folders.locations.buckets.views.getIamPolicy

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

logging.folders.locations.buckets.views.list

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

logging.folders.locations.buckets.views.logs.list

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

logging.folders.locations.buckets.views.patch

valid {
    input.Body.description == STRING
    input.Body.filter == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.locations.buckets.views.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
}

logging.folders.locations.buckets.views.testIamPermissions

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

logging.folders.locations.get

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

logging.folders.locations.list

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

logging.folders.locations.operations.cancel

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

logging.folders.locations.operations.get

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

logging.folders.locations.operations.list

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

logging.folders.locations.recentQueries.list

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

logging.folders.locations.savedQueries.create

enum_SavedQueryVisibility := [ "VISIBILITY_UNSPECIFIED", "PRIVATE", "SHARED" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.loggingQuery.filter == STRING
    input.Body.loggingQuery.summaryFieldEnd == INTEGER
    input.Body.loggingQuery.summaryFieldStart == INTEGER
    input.Body.loggingQuery.summaryFields[_].field == STRING
    input.Body.opsAnalyticsQuery.sqlQueryText == STRING
    input.Body.visibility == enum_SavedQueryVisibility[_]
    input.ReqMap.parent == STRING
    input.Qs.savedQueryId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.locations.savedQueries.delete

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

logging.folders.locations.savedQueries.get

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

logging.folders.locations.savedQueries.list

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

logging.folders.locations.savedQueries.patch

enum_SavedQueryVisibility := [ "VISIBILITY_UNSPECIFIED", "PRIVATE", "SHARED" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.loggingQuery.filter == STRING
    input.Body.loggingQuery.summaryFieldEnd == INTEGER
    input.Body.loggingQuery.summaryFieldStart == INTEGER
    input.Body.loggingQuery.summaryFields[_].field == STRING
    input.Body.opsAnalyticsQuery.sqlQueryText == STRING
    input.Body.visibility == enum_SavedQueryVisibility[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.logs.delete

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

logging.folders.logs.list

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

logging.folders.sinks.create

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.parent == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

logging.folders.sinks.delete

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

logging.folders.sinks.get

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

logging.folders.sinks.list

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

logging.folders.sinks.patch

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.sinkName == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.sinks.update

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.sinkName == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.folders.updateSettings

enum_DefaultSinkConfigMode := [ "FILTER_WRITE_MODE_UNSPECIFIED", "APPEND", "OVERWRITE" ]

valid {
    input.Body.defaultSinkConfig.exclusions[_].description == STRING
    input.Body.defaultSinkConfig.exclusions[_].disabled == BOOLEAN
    input.Body.defaultSinkConfig.exclusions[_].filter == STRING
    input.Body.defaultSinkConfig.filter == STRING
    input.Body.defaultSinkConfig.mode == enum_DefaultSinkConfigMode[_]
    input.Body.disableDefaultSink == BOOLEAN
    input.Body.kmsKeyName == STRING
    input.Body.storageLocation == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.getCmekSettings

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

logging.getSettings

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

logging.locations.buckets.create

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.bucketId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.locations.buckets.createAsync

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.bucketId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.locations.buckets.delete

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

logging.locations.buckets.get

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

logging.locations.buckets.links.create

valid {
    input.Body.bigqueryDataset == {}
    input.Body.description == STRING
    input.ReqMap.parent == STRING
    input.Qs.linkId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.locations.buckets.links.delete

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

logging.locations.buckets.links.get

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

logging.locations.buckets.links.list

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

logging.locations.buckets.list

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

logging.locations.buckets.patch

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.locations.buckets.undelete

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

logging.locations.buckets.updateAsync

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.locations.buckets.views.create

valid {
    input.Body.description == STRING
    input.Body.filter == STRING
    input.ReqMap.parent == STRING
    input.Qs.viewId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.locations.buckets.views.delete

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

logging.locations.buckets.views.get

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

logging.locations.buckets.views.getIamPolicy

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

logging.locations.buckets.views.list

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

logging.locations.buckets.views.patch

valid {
    input.Body.description == STRING
    input.Body.filter == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.locations.buckets.views.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
}

logging.locations.buckets.views.testIamPermissions

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

logging.locations.get

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

logging.locations.list

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

logging.locations.operations.cancel

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

logging.locations.operations.get

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

logging.locations.operations.list

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

logging.logs.delete

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

logging.logs.list

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

logging.monitoredResourceDescriptors.list

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

logging.organizations.exclusions.create

valid {
    input.Body.description == STRING
    input.Body.disabled == BOOLEAN
    input.Body.filter == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.exclusions.delete

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

logging.organizations.exclusions.get

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

logging.organizations.exclusions.list

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

logging.organizations.exclusions.patch

valid {
    input.Body.description == STRING
    input.Body.disabled == BOOLEAN
    input.Body.filter == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.getCmekSettings

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

logging.organizations.getSettings

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

logging.organizations.locations.buckets.create

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.bucketId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.locations.buckets.createAsync

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.bucketId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.locations.buckets.delete

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

logging.organizations.locations.buckets.get

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

logging.organizations.locations.buckets.links.create

valid {
    input.Body.bigqueryDataset == {}
    input.Body.description == STRING
    input.ReqMap.parent == STRING
    input.Qs.linkId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.locations.buckets.links.delete

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

logging.organizations.locations.buckets.links.get

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

logging.organizations.locations.buckets.links.list

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

logging.organizations.locations.buckets.list

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

logging.organizations.locations.buckets.patch

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.locations.buckets.undelete

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

logging.organizations.locations.buckets.updateAsync

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.locations.buckets.views.create

valid {
    input.Body.description == STRING
    input.Body.filter == STRING
    input.ReqMap.parent == STRING
    input.Qs.viewId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.locations.buckets.views.delete

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

logging.organizations.locations.buckets.views.get

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

logging.organizations.locations.buckets.views.getIamPolicy

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

logging.organizations.locations.buckets.views.list

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

logging.organizations.locations.buckets.views.logs.list

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

logging.organizations.locations.buckets.views.patch

valid {
    input.Body.description == STRING
    input.Body.filter == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.locations.buckets.views.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
}

logging.organizations.locations.buckets.views.testIamPermissions

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

logging.organizations.locations.get

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

logging.organizations.locations.list

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

logging.organizations.locations.operations.cancel

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

logging.organizations.locations.operations.get

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

logging.organizations.locations.operations.list

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

logging.organizations.locations.recentQueries.list

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

logging.organizations.locations.savedQueries.create

enum_SavedQueryVisibility := [ "VISIBILITY_UNSPECIFIED", "PRIVATE", "SHARED" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.loggingQuery.filter == STRING
    input.Body.loggingQuery.summaryFieldEnd == INTEGER
    input.Body.loggingQuery.summaryFieldStart == INTEGER
    input.Body.loggingQuery.summaryFields[_].field == STRING
    input.Body.opsAnalyticsQuery.sqlQueryText == STRING
    input.Body.visibility == enum_SavedQueryVisibility[_]
    input.ReqMap.parent == STRING
    input.Qs.savedQueryId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.locations.savedQueries.delete

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

logging.organizations.locations.savedQueries.get

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

logging.organizations.locations.savedQueries.list

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

logging.organizations.locations.savedQueries.patch

enum_SavedQueryVisibility := [ "VISIBILITY_UNSPECIFIED", "PRIVATE", "SHARED" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.loggingQuery.filter == STRING
    input.Body.loggingQuery.summaryFieldEnd == INTEGER
    input.Body.loggingQuery.summaryFieldStart == INTEGER
    input.Body.loggingQuery.summaryFields[_].field == STRING
    input.Body.opsAnalyticsQuery.sqlQueryText == STRING
    input.Body.visibility == enum_SavedQueryVisibility[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.logs.delete

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

logging.organizations.logs.list

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

logging.organizations.sinks.create

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.parent == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

logging.organizations.sinks.delete

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

logging.organizations.sinks.get

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

logging.organizations.sinks.list

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

logging.organizations.sinks.patch

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.sinkName == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.sinks.update

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.sinkName == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.organizations.updateCmekSettings

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

logging.organizations.updateSettings

enum_DefaultSinkConfigMode := [ "FILTER_WRITE_MODE_UNSPECIFIED", "APPEND", "OVERWRITE" ]

valid {
    input.Body.defaultSinkConfig.exclusions[_].description == STRING
    input.Body.defaultSinkConfig.exclusions[_].disabled == BOOLEAN
    input.Body.defaultSinkConfig.exclusions[_].filter == STRING
    input.Body.defaultSinkConfig.filter == STRING
    input.Body.defaultSinkConfig.mode == enum_DefaultSinkConfigMode[_]
    input.Body.disableDefaultSink == BOOLEAN
    input.Body.kmsKeyName == STRING
    input.Body.storageLocation == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.exclusions.create

valid {
    input.Body.description == STRING
    input.Body.disabled == BOOLEAN
    input.Body.filter == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.exclusions.delete

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

logging.projects.exclusions.get

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

logging.projects.exclusions.list

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

logging.projects.exclusions.patch

valid {
    input.Body.description == STRING
    input.Body.disabled == BOOLEAN
    input.Body.filter == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.getCmekSettings

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

logging.projects.getSettings

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

logging.projects.locations.buckets.create

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.bucketId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.locations.buckets.createAsync

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.bucketId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.locations.buckets.delete

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

logging.projects.locations.buckets.get

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

logging.projects.locations.buckets.links.create

valid {
    input.Body.bigqueryDataset == {}
    input.Body.description == STRING
    input.ReqMap.parent == STRING
    input.Qs.linkId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.locations.buckets.links.delete

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

logging.projects.locations.buckets.links.get

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

logging.projects.locations.buckets.links.list

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

logging.projects.locations.buckets.list

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

logging.projects.locations.buckets.patch

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.locations.buckets.undelete

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

logging.projects.locations.buckets.updateAsync

enum_IndexConfigType := [ "INDEX_TYPE_UNSPECIFIED", "INDEX_TYPE_STRING", "INDEX_TYPE_INTEGER" ]

valid {
    input.Body.analyticsEnabled == BOOLEAN
    input.Body.cmekSettings.kmsKeyName == STRING
    input.Body.description == STRING
    input.Body.indexConfigs[_].fieldPath == STRING
    input.Body.indexConfigs[_].type == enum_IndexConfigType[_]
    input.Body.locked == BOOLEAN
    input.Body.restrictedFields[_] == STRING
    input.Body.retentionDays == INTEGER
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.locations.buckets.views.create

valid {
    input.Body.description == STRING
    input.Body.filter == STRING
    input.ReqMap.parent == STRING
    input.Qs.viewId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.locations.buckets.views.delete

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

logging.projects.locations.buckets.views.get

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

logging.projects.locations.buckets.views.getIamPolicy

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

logging.projects.locations.buckets.views.list

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

logging.projects.locations.buckets.views.logs.list

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

logging.projects.locations.buckets.views.patch

valid {
    input.Body.description == STRING
    input.Body.filter == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.locations.buckets.views.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
}

logging.projects.locations.buckets.views.testIamPermissions

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

logging.projects.locations.get

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

logging.projects.locations.list

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

logging.projects.locations.operations.cancel

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

logging.projects.locations.operations.get

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

logging.projects.locations.operations.list

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

logging.projects.locations.recentQueries.list

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

logging.projects.locations.savedQueries.create

enum_SavedQueryVisibility := [ "VISIBILITY_UNSPECIFIED", "PRIVATE", "SHARED" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.loggingQuery.filter == STRING
    input.Body.loggingQuery.summaryFieldEnd == INTEGER
    input.Body.loggingQuery.summaryFieldStart == INTEGER
    input.Body.loggingQuery.summaryFields[_].field == STRING
    input.Body.opsAnalyticsQuery.sqlQueryText == STRING
    input.Body.visibility == enum_SavedQueryVisibility[_]
    input.ReqMap.parent == STRING
    input.Qs.savedQueryId == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.locations.savedQueries.delete

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

logging.projects.locations.savedQueries.get

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

logging.projects.locations.savedQueries.list

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

logging.projects.locations.savedQueries.patch

enum_SavedQueryVisibility := [ "VISIBILITY_UNSPECIFIED", "PRIVATE", "SHARED" ]

valid {
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.loggingQuery.filter == STRING
    input.Body.loggingQuery.summaryFieldEnd == INTEGER
    input.Body.loggingQuery.summaryFieldStart == INTEGER
    input.Body.loggingQuery.summaryFields[_].field == STRING
    input.Body.opsAnalyticsQuery.sqlQueryText == STRING
    input.Body.visibility == enum_SavedQueryVisibility[_]
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.logs.delete

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

logging.projects.logs.list

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

logging.projects.metrics.create

enum_LabelDescriptorValueType := [ "STRING", "BOOL", "INT64" ]
enum_LogMetricVersion := [ "V2", "V1" ]
enum_MetricDescriptorLaunchStage := [ "LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED" ]
enum_MetricDescriptorMetadataLaunchStage := [ "LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED" ]
enum_MetricDescriptorMetricKind := [ "METRIC_KIND_UNSPECIFIED", "GAUGE", "DELTA", "CUMULATIVE" ]
enum_MetricDescriptorValueType := [ "VALUE_TYPE_UNSPECIFIED", "BOOL", "INT64", "DOUBLE", "STRING", "DISTRIBUTION", "MONEY" ]

valid {
    input.Body.bucketName == STRING
    input.Body.bucketOptions.explicitBuckets.bounds[_] == NUMBER
    input.Body.bucketOptions.exponentialBuckets.growthFactor == NUMBER
    input.Body.bucketOptions.exponentialBuckets.numFiniteBuckets == INTEGER
    input.Body.bucketOptions.exponentialBuckets.scale == NUMBER
    input.Body.bucketOptions.linearBuckets.numFiniteBuckets == INTEGER
    input.Body.bucketOptions.linearBuckets.offset == NUMBER
    input.Body.bucketOptions.linearBuckets.width == NUMBER
    input.Body.description == STRING
    input.Body.disabled == BOOLEAN
    input.Body.filter == STRING
    input.Body.labelExtractors.STRING == STRING
    input.Body.metricDescriptor.description == STRING
    input.Body.metricDescriptor.displayName == STRING
    input.Body.metricDescriptor.labels[_].description == STRING
    input.Body.metricDescriptor.labels[_].key == STRING
    input.Body.metricDescriptor.labels[_].valueType == enum_LabelDescriptorValueType[_]
    input.Body.metricDescriptor.launchStage == enum_MetricDescriptorLaunchStage[_]
    input.Body.metricDescriptor.metadata.ingestDelay == STRING
    input.Body.metricDescriptor.metadata.launchStage == enum_MetricDescriptorMetadataLaunchStage[_]
    input.Body.metricDescriptor.metadata.samplePeriod == STRING
    input.Body.metricDescriptor.metricKind == enum_MetricDescriptorMetricKind[_]
    input.Body.metricDescriptor.monitoredResourceTypes[_] == STRING
    input.Body.metricDescriptor.name == STRING
    input.Body.metricDescriptor.type == STRING
    input.Body.metricDescriptor.unit == STRING
    input.Body.metricDescriptor.valueType == enum_MetricDescriptorValueType[_]
    input.Body.name == STRING
    input.Body.valueExtractor == STRING
    input.Body.version == enum_LogMetricVersion[_]
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.metrics.delete

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

logging.projects.metrics.get

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

logging.projects.metrics.list

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

logging.projects.metrics.update

enum_LabelDescriptorValueType := [ "STRING", "BOOL", "INT64" ]
enum_LogMetricVersion := [ "V2", "V1" ]
enum_MetricDescriptorLaunchStage := [ "LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED" ]
enum_MetricDescriptorMetadataLaunchStage := [ "LAUNCH_STAGE_UNSPECIFIED", "UNIMPLEMENTED", "PRELAUNCH", "EARLY_ACCESS", "ALPHA", "BETA", "GA", "DEPRECATED" ]
enum_MetricDescriptorMetricKind := [ "METRIC_KIND_UNSPECIFIED", "GAUGE", "DELTA", "CUMULATIVE" ]
enum_MetricDescriptorValueType := [ "VALUE_TYPE_UNSPECIFIED", "BOOL", "INT64", "DOUBLE", "STRING", "DISTRIBUTION", "MONEY" ]

valid {
    input.Body.bucketName == STRING
    input.Body.bucketOptions.explicitBuckets.bounds[_] == NUMBER
    input.Body.bucketOptions.exponentialBuckets.growthFactor == NUMBER
    input.Body.bucketOptions.exponentialBuckets.numFiniteBuckets == INTEGER
    input.Body.bucketOptions.exponentialBuckets.scale == NUMBER
    input.Body.bucketOptions.linearBuckets.numFiniteBuckets == INTEGER
    input.Body.bucketOptions.linearBuckets.offset == NUMBER
    input.Body.bucketOptions.linearBuckets.width == NUMBER
    input.Body.description == STRING
    input.Body.disabled == BOOLEAN
    input.Body.filter == STRING
    input.Body.labelExtractors.STRING == STRING
    input.Body.metricDescriptor.description == STRING
    input.Body.metricDescriptor.displayName == STRING
    input.Body.metricDescriptor.labels[_].description == STRING
    input.Body.metricDescriptor.labels[_].key == STRING
    input.Body.metricDescriptor.labels[_].valueType == enum_LabelDescriptorValueType[_]
    input.Body.metricDescriptor.launchStage == enum_MetricDescriptorLaunchStage[_]
    input.Body.metricDescriptor.metadata.ingestDelay == STRING
    input.Body.metricDescriptor.metadata.launchStage == enum_MetricDescriptorMetadataLaunchStage[_]
    input.Body.metricDescriptor.metadata.samplePeriod == STRING
    input.Body.metricDescriptor.metricKind == enum_MetricDescriptorMetricKind[_]
    input.Body.metricDescriptor.monitoredResourceTypes[_] == STRING
    input.Body.metricDescriptor.name == STRING
    input.Body.metricDescriptor.type == STRING
    input.Body.metricDescriptor.unit == STRING
    input.Body.metricDescriptor.valueType == enum_MetricDescriptorValueType[_]
    input.Body.name == STRING
    input.Body.valueExtractor == STRING
    input.Body.version == enum_LogMetricVersion[_]
    input.ReqMap.metricName == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.sinks.create

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.parent == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

logging.projects.sinks.delete

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

logging.projects.sinks.get

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

logging.projects.sinks.list

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

logging.projects.sinks.patch

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.sinkName == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.projects.sinks.update

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.sinkName == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.sinks.create

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.parent == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

logging.sinks.delete

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

logging.sinks.get

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

logging.sinks.list

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

logging.sinks.update

enum_LogSinkOutputVersionFormat := [ "VERSION_FORMAT_UNSPECIFIED", "V2", "V1" ]

valid {
    input.Body.bigqueryOptions.usePartitionedTables == BOOLEAN
    input.Body.description == STRING
    input.Body.destination == STRING
    input.Body.disabled == BOOLEAN
    input.Body.exclusions[_].description == STRING
    input.Body.exclusions[_].disabled == BOOLEAN
    input.Body.exclusions[_].filter == STRING
    input.Body.filter == STRING
    input.Body.includeChildren == BOOLEAN
    input.Body.interceptChildren == BOOLEAN
    input.Body.outputVersionFormat == enum_LogSinkOutputVersionFormat[_]
    input.ReqMap.sinkName == STRING
    input.Qs.customWriterIdentity == STRING
    input.Qs.uniqueWriterIdentity == BOOLEAN
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}

logging.updateCmekSettings

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

logging.updateSettings

enum_DefaultSinkConfigMode := [ "FILTER_WRITE_MODE_UNSPECIFIED", "APPEND", "OVERWRITE" ]

valid {
    input.Body.defaultSinkConfig.exclusions[_].description == STRING
    input.Body.defaultSinkConfig.exclusions[_].disabled == BOOLEAN
    input.Body.defaultSinkConfig.exclusions[_].filter == STRING
    input.Body.defaultSinkConfig.filter == STRING
    input.Body.defaultSinkConfig.mode == enum_DefaultSinkConfigMode[_]
    input.Body.disableDefaultSink == BOOLEAN
    input.Body.kmsKeyName == STRING
    input.Body.storageLocation == STRING
    input.ReqMap.name == STRING
    input.Qs.updateMask == STRING
    input.ProviderMetadata.Region == STRING
}