DATASTREAM

datastream.projects.locations.connectionProfiles.create

valid {
    input.Body.bigqueryProfile.STRING == STRING
    input.Body.displayName == STRING
    input.Body.forwardSshConnectivity.hostname == STRING
    input.Body.forwardSshConnectivity.password == STRING
    input.Body.forwardSshConnectivity.port == INTEGER
    input.Body.forwardSshConnectivity.privateKey == STRING
    input.Body.forwardSshConnectivity.username == STRING
    input.Body.gcsProfile.bucket == STRING
    input.Body.gcsProfile.rootPath == STRING
    input.Body.labels.STRING == STRING
    input.Body.mysqlProfile.hostname == STRING
    input.Body.mysqlProfile.password == STRING
    input.Body.mysqlProfile.port == INTEGER
    input.Body.mysqlProfile.sslConfig.caCertificate == STRING
    input.Body.mysqlProfile.sslConfig.clientCertificate == STRING
    input.Body.mysqlProfile.sslConfig.clientKey == STRING
    input.Body.mysqlProfile.username == STRING
    input.Body.oracleProfile.connectionAttributes.STRING == STRING
    input.Body.oracleProfile.databaseService == STRING
    input.Body.oracleProfile.hostname == STRING
    input.Body.oracleProfile.oracleSslConfig.caCertificate == STRING
    input.Body.oracleProfile.password == STRING
    input.Body.oracleProfile.port == INTEGER
    input.Body.oracleProfile.username == STRING
    input.Body.postgresqlProfile.database == STRING
    input.Body.postgresqlProfile.hostname == STRING
    input.Body.postgresqlProfile.password == STRING
    input.Body.postgresqlProfile.port == INTEGER
    input.Body.postgresqlProfile.username == STRING
    input.Body.privateConnectivity.privateConnection == STRING
    input.Body.sqlServerProfile.database == STRING
    input.Body.sqlServerProfile.hostname == STRING
    input.Body.sqlServerProfile.password == STRING
    input.Body.sqlServerProfile.port == INTEGER
    input.Body.sqlServerProfile.username == STRING
    input.Body.staticServiceIpConnectivity.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.connectionProfileId == STRING
    input.Qs.force == BOOLEAN
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

datastream.projects.locations.connectionProfiles.delete

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

datastream.projects.locations.connectionProfiles.discover

valid {
    input.Body.connectionProfile.bigqueryProfile.STRING == STRING
    input.Body.connectionProfile.displayName == STRING
    input.Body.connectionProfile.forwardSshConnectivity.hostname == STRING
    input.Body.connectionProfile.forwardSshConnectivity.password == STRING
    input.Body.connectionProfile.forwardSshConnectivity.port == INTEGER
    input.Body.connectionProfile.forwardSshConnectivity.privateKey == STRING
    input.Body.connectionProfile.forwardSshConnectivity.username == STRING
    input.Body.connectionProfile.gcsProfile.bucket == STRING
    input.Body.connectionProfile.gcsProfile.rootPath == STRING
    input.Body.connectionProfile.labels.STRING == STRING
    input.Body.connectionProfile.mysqlProfile.hostname == STRING
    input.Body.connectionProfile.mysqlProfile.password == STRING
    input.Body.connectionProfile.mysqlProfile.port == INTEGER
    input.Body.connectionProfile.mysqlProfile.sslConfig.caCertificate == STRING
    input.Body.connectionProfile.mysqlProfile.sslConfig.clientCertificate == STRING
    input.Body.connectionProfile.mysqlProfile.sslConfig.clientKey == STRING
    input.Body.connectionProfile.mysqlProfile.username == STRING
    input.Body.connectionProfile.oracleProfile.connectionAttributes.STRING == STRING
    input.Body.connectionProfile.oracleProfile.databaseService == STRING
    input.Body.connectionProfile.oracleProfile.hostname == STRING
    input.Body.connectionProfile.oracleProfile.oracleSslConfig.caCertificate == STRING
    input.Body.connectionProfile.oracleProfile.password == STRING
    input.Body.connectionProfile.oracleProfile.port == INTEGER
    input.Body.connectionProfile.oracleProfile.username == STRING
    input.Body.connectionProfile.postgresqlProfile.database == STRING
    input.Body.connectionProfile.postgresqlProfile.hostname == STRING
    input.Body.connectionProfile.postgresqlProfile.password == STRING
    input.Body.connectionProfile.postgresqlProfile.port == INTEGER
    input.Body.connectionProfile.postgresqlProfile.username == STRING
    input.Body.connectionProfile.privateConnectivity.privateConnection == STRING
    input.Body.connectionProfile.sqlServerProfile.database == STRING
    input.Body.connectionProfile.sqlServerProfile.hostname == STRING
    input.Body.connectionProfile.sqlServerProfile.password == STRING
    input.Body.connectionProfile.sqlServerProfile.port == INTEGER
    input.Body.connectionProfile.sqlServerProfile.username == STRING
    input.Body.connectionProfile.staticServiceIpConnectivity.STRING == STRING
    input.Body.connectionProfileName == STRING
    input.Body.fullHierarchy == BOOLEAN
    input.Body.hierarchyDepth == INTEGER
    input.Body.mysqlRdbms.mysqlDatabases[_].database == STRING
    input.Body.mysqlRdbms.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].collation == STRING
    input.Body.mysqlRdbms.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].column == STRING
    input.Body.mysqlRdbms.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].dataType == STRING
    input.Body.mysqlRdbms.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].length == INTEGER
    input.Body.mysqlRdbms.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].nullable == BOOLEAN
    input.Body.mysqlRdbms.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].ordinalPosition == INTEGER
    input.Body.mysqlRdbms.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].precision == INTEGER
    input.Body.mysqlRdbms.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].primaryKey == BOOLEAN
    input.Body.mysqlRdbms.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].scale == INTEGER
    input.Body.mysqlRdbms.mysqlDatabases[_].mysqlTables[_].table == STRING
    input.Body.oracleRdbms.oracleSchemas[_].oracleTables[_].oracleColumns[_].column == STRING
    input.Body.oracleRdbms.oracleSchemas[_].oracleTables[_].oracleColumns[_].dataType == STRING
    input.Body.oracleRdbms.oracleSchemas[_].oracleTables[_].oracleColumns[_].encoding == STRING
    input.Body.oracleRdbms.oracleSchemas[_].oracleTables[_].oracleColumns[_].length == INTEGER
    input.Body.oracleRdbms.oracleSchemas[_].oracleTables[_].oracleColumns[_].nullable == BOOLEAN
    input.Body.oracleRdbms.oracleSchemas[_].oracleTables[_].oracleColumns[_].ordinalPosition == INTEGER
    input.Body.oracleRdbms.oracleSchemas[_].oracleTables[_].oracleColumns[_].precision == INTEGER
    input.Body.oracleRdbms.oracleSchemas[_].oracleTables[_].oracleColumns[_].primaryKey == BOOLEAN
    input.Body.oracleRdbms.oracleSchemas[_].oracleTables[_].oracleColumns[_].scale == INTEGER
    input.Body.oracleRdbms.oracleSchemas[_].oracleTables[_].table == STRING
    input.Body.oracleRdbms.oracleSchemas[_].schema == STRING
    input.Body.postgresqlRdbms.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].column == STRING
    input.Body.postgresqlRdbms.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].dataType == STRING
    input.Body.postgresqlRdbms.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].length == INTEGER
    input.Body.postgresqlRdbms.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].nullable == BOOLEAN
    input.Body.postgresqlRdbms.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].ordinalPosition == INTEGER
    input.Body.postgresqlRdbms.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].precision == INTEGER
    input.Body.postgresqlRdbms.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].primaryKey == BOOLEAN
    input.Body.postgresqlRdbms.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].scale == INTEGER
    input.Body.postgresqlRdbms.postgresqlSchemas[_].postgresqlTables[_].table == STRING
    input.Body.postgresqlRdbms.postgresqlSchemas[_].schema == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

datastream.projects.locations.connectionProfiles.get

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

datastream.projects.locations.connectionProfiles.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
}

datastream.projects.locations.connectionProfiles.patch

valid {
    input.Body.bigqueryProfile.STRING == STRING
    input.Body.displayName == STRING
    input.Body.forwardSshConnectivity.hostname == STRING
    input.Body.forwardSshConnectivity.password == STRING
    input.Body.forwardSshConnectivity.port == INTEGER
    input.Body.forwardSshConnectivity.privateKey == STRING
    input.Body.forwardSshConnectivity.username == STRING
    input.Body.gcsProfile.bucket == STRING
    input.Body.gcsProfile.rootPath == STRING
    input.Body.labels.STRING == STRING
    input.Body.mysqlProfile.hostname == STRING
    input.Body.mysqlProfile.password == STRING
    input.Body.mysqlProfile.port == INTEGER
    input.Body.mysqlProfile.sslConfig.caCertificate == STRING
    input.Body.mysqlProfile.sslConfig.clientCertificate == STRING
    input.Body.mysqlProfile.sslConfig.clientKey == STRING
    input.Body.mysqlProfile.username == STRING
    input.Body.oracleProfile.connectionAttributes.STRING == STRING
    input.Body.oracleProfile.databaseService == STRING
    input.Body.oracleProfile.hostname == STRING
    input.Body.oracleProfile.oracleSslConfig.caCertificate == STRING
    input.Body.oracleProfile.password == STRING
    input.Body.oracleProfile.port == INTEGER
    input.Body.oracleProfile.username == STRING
    input.Body.postgresqlProfile.database == STRING
    input.Body.postgresqlProfile.hostname == STRING
    input.Body.postgresqlProfile.password == STRING
    input.Body.postgresqlProfile.port == INTEGER
    input.Body.postgresqlProfile.username == STRING
    input.Body.privateConnectivity.privateConnection == STRING
    input.Body.sqlServerProfile.database == STRING
    input.Body.sqlServerProfile.hostname == STRING
    input.Body.sqlServerProfile.password == STRING
    input.Body.sqlServerProfile.port == INTEGER
    input.Body.sqlServerProfile.username == STRING
    input.Body.staticServiceIpConnectivity.STRING == STRING
    input.ReqMap.name == STRING
    input.Qs.force == BOOLEAN
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

datastream.projects.locations.fetchStaticIps

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

datastream.projects.locations.get

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

datastream.projects.locations.list

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

datastream.projects.locations.operations.cancel

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

datastream.projects.locations.operations.delete

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

datastream.projects.locations.operations.get

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

datastream.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
}

datastream.projects.locations.privateConnections.create

valid {
    input.Body.displayName == STRING
    input.Body.labels.STRING == STRING
    input.Body.vpcPeeringConfig.subnet == STRING
    input.Body.vpcPeeringConfig.vpc == STRING
    input.ReqMap.parent == STRING
    input.Qs.force == BOOLEAN
    input.Qs.privateConnectionId == STRING
    input.Qs.requestId == STRING
    input.ProviderMetadata.Region == STRING
}

datastream.projects.locations.privateConnections.delete

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

datastream.projects.locations.privateConnections.get

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

datastream.projects.locations.privateConnections.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
}

datastream.projects.locations.privateConnections.routes.create

valid {
    input.Body.destinationAddress == STRING
    input.Body.destinationPort == INTEGER
    input.Body.displayName == STRING
    input.Body.labels.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.requestId == STRING
    input.Qs.routeId == STRING
    input.ProviderMetadata.Region == STRING
}

datastream.projects.locations.privateConnections.routes.delete

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

datastream.projects.locations.privateConnections.routes.get

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

datastream.projects.locations.privateConnections.routes.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
}

datastream.projects.locations.streams.create

enum_JsonFileFormatCompression := [ "JSON_COMPRESSION_UNSPECIFIED", "NO_COMPRESSION", "GZIP" ]
enum_JsonFileFormatSchemaFileFormat := [ "SCHEMA_FILE_FORMAT_UNSPECIFIED", "NO_SCHEMA_FILE", "AVRO_SCHEMA_FILE" ]
enum_StreamState := [ "STATE_UNSPECIFIED", "NOT_STARTED", "RUNNING", "PAUSED", "MAINTENANCE", "FAILED", "FAILED_PERMANENTLY", "STARTING", "DRAINING" ]

valid {
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].database == STRING
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].collation == STRING
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].column == STRING
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].dataType == STRING
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].length == INTEGER
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].nullable == BOOLEAN
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].ordinalPosition == INTEGER
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].precision == INTEGER
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].primaryKey == BOOLEAN
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].scale == INTEGER
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].table == STRING
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].column == STRING
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].dataType == STRING
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].encoding == STRING
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].length == INTEGER
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].nullable == BOOLEAN
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].ordinalPosition == INTEGER
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].precision == INTEGER
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].primaryKey == BOOLEAN
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].scale == INTEGER
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].table == STRING
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].schema == STRING
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].column == STRING
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].dataType == STRING
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].length == INTEGER
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].nullable == BOOLEAN
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].ordinalPosition == INTEGER
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].precision == INTEGER
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].primaryKey == BOOLEAN
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].scale == INTEGER
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].table == STRING
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].schema == STRING
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].schema == STRING
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].column == STRING
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].dataType == STRING
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].length == INTEGER
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].nullable == BOOLEAN
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].ordinalPosition == INTEGER
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].precision == INTEGER
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].primaryKey == BOOLEAN
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].scale == INTEGER
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].table == STRING
    input.Body.backfillNone.STRING == STRING
    input.Body.customerManagedEncryptionKey == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.appendOnly.STRING == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.dataFreshness == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.merge.STRING == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.singleTargetDataset.datasetId == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.sourceHierarchyDatasets.datasetTemplate.datasetIdPrefix == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.sourceHierarchyDatasets.datasetTemplate.kmsKeyName == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.sourceHierarchyDatasets.datasetTemplate.location == STRING
    input.Body.destinationConfig.destinationConnectionProfile == STRING
    input.Body.destinationConfig.gcsDestinationConfig.avroFileFormat.STRING == STRING
    input.Body.destinationConfig.gcsDestinationConfig.fileRotationInterval == STRING
    input.Body.destinationConfig.gcsDestinationConfig.fileRotationMb == INTEGER
    input.Body.destinationConfig.gcsDestinationConfig.jsonFileFormat.compression == enum_JsonFileFormatCompression[_]
    input.Body.destinationConfig.gcsDestinationConfig.jsonFileFormat.schemaFileFormat == enum_JsonFileFormatSchemaFileFormat[_]
    input.Body.destinationConfig.gcsDestinationConfig.path == STRING
    input.Body.displayName == STRING
    input.Body.labels.STRING == STRING
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].database == STRING
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].collation == STRING
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].column == STRING
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].dataType == STRING
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].length == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].nullable == BOOLEAN
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].precision == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].scale == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].table == STRING
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].database == STRING
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].collation == STRING
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].column == STRING
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].dataType == STRING
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].length == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].nullable == BOOLEAN
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].precision == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].scale == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].table == STRING
    input.Body.sourceConfig.mysqlSourceConfig.maxConcurrentBackfillTasks == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.maxConcurrentCdcTasks == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.dropLargeObjects.STRING == STRING
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].column == STRING
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].dataType == STRING
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].encoding == STRING
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].length == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].nullable == BOOLEAN
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].precision == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].scale == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].table == STRING
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].schema == STRING
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].column == STRING
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].dataType == STRING
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].encoding == STRING
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].length == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].nullable == BOOLEAN
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].precision == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].scale == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].table == STRING
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].schema == STRING
    input.Body.sourceConfig.oracleSourceConfig.maxConcurrentBackfillTasks == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.maxConcurrentCdcTasks == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.streamLargeObjects.STRING == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].column == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].dataType == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].length == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].nullable == BOOLEAN
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].precision == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].scale == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].table == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].schema == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].column == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].dataType == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].length == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].nullable == BOOLEAN
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].precision == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].scale == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].table == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].schema == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.maxConcurrentBackfillTasks == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.publication == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.replicationSlot == STRING
    input.Body.sourceConfig.sourceConnectionProfile == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].schema == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].column == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].dataType == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].length == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].nullable == BOOLEAN
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].precision == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].scale == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].table == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].schema == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].column == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].dataType == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].length == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].nullable == BOOLEAN
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].precision == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].scale == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].table == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.maxConcurrentBackfillTasks == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.maxConcurrentCdcTasks == INTEGER
    input.Body.state == enum_StreamState[_]
    input.ReqMap.parent == STRING
    input.Qs.force == BOOLEAN
    input.Qs.requestId == STRING
    input.Qs.streamId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

datastream.projects.locations.streams.delete

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

datastream.projects.locations.streams.fetchErrors

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

datastream.projects.locations.streams.get

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

datastream.projects.locations.streams.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
}

datastream.projects.locations.streams.objects.get

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

datastream.projects.locations.streams.objects.list

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

datastream.projects.locations.streams.objects.lookup

valid {
    input.Body.sourceObjectIdentifier.mysqlIdentifier.database == STRING
    input.Body.sourceObjectIdentifier.mysqlIdentifier.table == STRING
    input.Body.sourceObjectIdentifier.oracleIdentifier.schema == STRING
    input.Body.sourceObjectIdentifier.oracleIdentifier.table == STRING
    input.Body.sourceObjectIdentifier.postgresqlIdentifier.schema == STRING
    input.Body.sourceObjectIdentifier.postgresqlIdentifier.table == STRING
    input.Body.sourceObjectIdentifier.sqlServerIdentifier.schema == STRING
    input.Body.sourceObjectIdentifier.sqlServerIdentifier.table == STRING
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

datastream.projects.locations.streams.objects.startBackfillJob

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

datastream.projects.locations.streams.objects.stopBackfillJob

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

datastream.projects.locations.streams.patch

enum_JsonFileFormatCompression := [ "JSON_COMPRESSION_UNSPECIFIED", "NO_COMPRESSION", "GZIP" ]
enum_JsonFileFormatSchemaFileFormat := [ "SCHEMA_FILE_FORMAT_UNSPECIFIED", "NO_SCHEMA_FILE", "AVRO_SCHEMA_FILE" ]
enum_StreamState := [ "STATE_UNSPECIFIED", "NOT_STARTED", "RUNNING", "PAUSED", "MAINTENANCE", "FAILED", "FAILED_PERMANENTLY", "STARTING", "DRAINING" ]

valid {
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].database == STRING
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].collation == STRING
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].column == STRING
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].dataType == STRING
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].length == INTEGER
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].nullable == BOOLEAN
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].ordinalPosition == INTEGER
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].precision == INTEGER
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].primaryKey == BOOLEAN
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].scale == INTEGER
    input.Body.backfillAll.mysqlExcludedObjects.mysqlDatabases[_].mysqlTables[_].table == STRING
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].column == STRING
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].dataType == STRING
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].encoding == STRING
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].length == INTEGER
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].nullable == BOOLEAN
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].ordinalPosition == INTEGER
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].precision == INTEGER
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].primaryKey == BOOLEAN
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].scale == INTEGER
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].oracleTables[_].table == STRING
    input.Body.backfillAll.oracleExcludedObjects.oracleSchemas[_].schema == STRING
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].column == STRING
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].dataType == STRING
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].length == INTEGER
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].nullable == BOOLEAN
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].ordinalPosition == INTEGER
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].precision == INTEGER
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].primaryKey == BOOLEAN
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].scale == INTEGER
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].postgresqlTables[_].table == STRING
    input.Body.backfillAll.postgresqlExcludedObjects.postgresqlSchemas[_].schema == STRING
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].schema == STRING
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].column == STRING
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].dataType == STRING
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].length == INTEGER
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].nullable == BOOLEAN
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].ordinalPosition == INTEGER
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].precision == INTEGER
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].primaryKey == BOOLEAN
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].columns[_].scale == INTEGER
    input.Body.backfillAll.sqlServerExcludedObjects.schemas[_].tables[_].table == STRING
    input.Body.backfillNone.STRING == STRING
    input.Body.customerManagedEncryptionKey == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.appendOnly.STRING == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.dataFreshness == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.merge.STRING == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.singleTargetDataset.datasetId == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.sourceHierarchyDatasets.datasetTemplate.datasetIdPrefix == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.sourceHierarchyDatasets.datasetTemplate.kmsKeyName == STRING
    input.Body.destinationConfig.bigqueryDestinationConfig.sourceHierarchyDatasets.datasetTemplate.location == STRING
    input.Body.destinationConfig.destinationConnectionProfile == STRING
    input.Body.destinationConfig.gcsDestinationConfig.avroFileFormat.STRING == STRING
    input.Body.destinationConfig.gcsDestinationConfig.fileRotationInterval == STRING
    input.Body.destinationConfig.gcsDestinationConfig.fileRotationMb == INTEGER
    input.Body.destinationConfig.gcsDestinationConfig.jsonFileFormat.compression == enum_JsonFileFormatCompression[_]
    input.Body.destinationConfig.gcsDestinationConfig.jsonFileFormat.schemaFileFormat == enum_JsonFileFormatSchemaFileFormat[_]
    input.Body.destinationConfig.gcsDestinationConfig.path == STRING
    input.Body.displayName == STRING
    input.Body.labels.STRING == STRING
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].database == STRING
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].collation == STRING
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].column == STRING
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].dataType == STRING
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].length == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].nullable == BOOLEAN
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].precision == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].scale == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.excludeObjects.mysqlDatabases[_].mysqlTables[_].table == STRING
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].database == STRING
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].collation == STRING
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].column == STRING
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].dataType == STRING
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].length == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].nullable == BOOLEAN
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].precision == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].mysqlColumns[_].scale == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.includeObjects.mysqlDatabases[_].mysqlTables[_].table == STRING
    input.Body.sourceConfig.mysqlSourceConfig.maxConcurrentBackfillTasks == INTEGER
    input.Body.sourceConfig.mysqlSourceConfig.maxConcurrentCdcTasks == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.dropLargeObjects.STRING == STRING
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].column == STRING
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].dataType == STRING
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].encoding == STRING
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].length == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].nullable == BOOLEAN
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].precision == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].scale == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].oracleTables[_].table == STRING
    input.Body.sourceConfig.oracleSourceConfig.excludeObjects.oracleSchemas[_].schema == STRING
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].column == STRING
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].dataType == STRING
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].encoding == STRING
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].length == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].nullable == BOOLEAN
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].precision == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].oracleColumns[_].scale == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].oracleTables[_].table == STRING
    input.Body.sourceConfig.oracleSourceConfig.includeObjects.oracleSchemas[_].schema == STRING
    input.Body.sourceConfig.oracleSourceConfig.maxConcurrentBackfillTasks == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.maxConcurrentCdcTasks == INTEGER
    input.Body.sourceConfig.oracleSourceConfig.streamLargeObjects.STRING == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].column == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].dataType == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].length == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].nullable == BOOLEAN
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].precision == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].scale == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].postgresqlTables[_].table == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.excludeObjects.postgresqlSchemas[_].schema == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].column == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].dataType == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].length == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].nullable == BOOLEAN
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].precision == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].postgresqlColumns[_].scale == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].postgresqlTables[_].table == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.includeObjects.postgresqlSchemas[_].schema == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.maxConcurrentBackfillTasks == INTEGER
    input.Body.sourceConfig.postgresqlSourceConfig.publication == STRING
    input.Body.sourceConfig.postgresqlSourceConfig.replicationSlot == STRING
    input.Body.sourceConfig.sourceConnectionProfile == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].schema == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].column == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].dataType == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].length == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].nullable == BOOLEAN
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].precision == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].columns[_].scale == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.excludeObjects.schemas[_].tables[_].table == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].schema == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].column == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].dataType == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].length == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].nullable == BOOLEAN
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].ordinalPosition == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].precision == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].primaryKey == BOOLEAN
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].columns[_].scale == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.includeObjects.schemas[_].tables[_].table == STRING
    input.Body.sourceConfig.sqlServerSourceConfig.maxConcurrentBackfillTasks == INTEGER
    input.Body.sourceConfig.sqlServerSourceConfig.maxConcurrentCdcTasks == INTEGER
    input.Body.state == enum_StreamState[_]
    input.ReqMap.name == STRING
    input.Qs.force == BOOLEAN
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

datastream.projects.locations.streams.run

valid {
    input.Body.cdcStrategy.mostRecentStartPosition.STRING == STRING
    input.Body.cdcStrategy.nextAvailableStartPosition.STRING == STRING
    input.Body.cdcStrategy.specificStartPosition.mysqlLogPosition.logFile == STRING
    input.Body.cdcStrategy.specificStartPosition.mysqlLogPosition.logPosition == INTEGER
    input.Body.cdcStrategy.specificStartPosition.oracleScnPosition.scn == STRING
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}