alloydb.projects.locations.backups.create

enum_BackupType := [ "TYPE_UNSPECIFIED", "ON_DEMAND", "AUTOMATED", "CONTINUOUS" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.clusterName == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionConfig.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.tags.STRING == STRING
    input.Body.type == enum_BackupType[_]
    input.ReqMap.parent == STRING
    input.Qs.backupId == STRING
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.backups.delete

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

alloydb.projects.locations.backups.get

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

alloydb.projects.locations.backups.list

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

alloydb.projects.locations.backups.patch

enum_BackupType := [ "TYPE_UNSPECIFIED", "ON_DEMAND", "AUTOMATED", "CONTINUOUS" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.clusterName == STRING
    input.Body.description == STRING
    input.Body.displayName == STRING
    input.Body.encryptionConfig.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.labels.STRING == STRING
    input.Body.tags.STRING == STRING
    input.Body.type == enum_BackupType[_]
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.create

enum_ClusterDatabaseVersion := [ "DATABASE_VERSION_UNSPECIFIED", "POSTGRES_13", "POSTGRES_14", "POSTGRES_15", "POSTGRES_16" ]
enum_ClusterSubscriptionType := [ "SUBSCRIPTION_TYPE_UNSPECIFIED", "STANDARD", "TRIAL" ]
enum_MaintenanceWindowDay := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_SslConfigCaSource := [ "CA_SOURCE_UNSPECIFIED", "CA_SOURCE_MANAGED" ]
enum_SslConfigSslMode := [ "SSL_MODE_UNSPECIFIED", "SSL_MODE_ALLOW", "SSL_MODE_REQUIRE", "SSL_MODE_VERIFY_CA", "ALLOW_UNENCRYPTED_AND_ENCRYPTED", "ENCRYPTED_ONLY" ]
enum_WeeklyScheduleDaysOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.automatedBackupPolicy.backupWindow == STRING
    input.Body.automatedBackupPolicy.enabled == BOOLEAN
    input.Body.automatedBackupPolicy.encryptionConfig.kmsKeyName == STRING
    input.Body.automatedBackupPolicy.labels.STRING == STRING
    input.Body.automatedBackupPolicy.location == STRING
    input.Body.automatedBackupPolicy.quantityBasedRetention.count == INTEGER
    input.Body.automatedBackupPolicy.timeBasedRetention.retentionPeriod == STRING
    input.Body.automatedBackupPolicy.weeklySchedule.daysOfWeek[_] == enum_WeeklyScheduleDaysOfWeek[_]
    input.Body.automatedBackupPolicy.weeklySchedule.startTimes[_].hours == INTEGER
    input.Body.automatedBackupPolicy.weeklySchedule.startTimes[_].minutes == INTEGER
    input.Body.automatedBackupPolicy.weeklySchedule.startTimes[_].nanos == INTEGER
    input.Body.automatedBackupPolicy.weeklySchedule.startTimes[_].seconds == INTEGER
    input.Body.continuousBackupConfig.enabled == BOOLEAN
    input.Body.continuousBackupConfig.encryptionConfig.kmsKeyName == STRING
    input.Body.continuousBackupConfig.recoveryWindowDays == INTEGER
    input.Body.databaseVersion == enum_ClusterDatabaseVersion[_]
    input.Body.displayName == STRING
    input.Body.encryptionConfig.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.initialUser.password == STRING
    input.Body.initialUser.user == STRING
    input.Body.labels.STRING == STRING
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].day == enum_MaintenanceWindowDay[_]
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.hours == INTEGER
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.minutes == INTEGER
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.nanos == INTEGER
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.seconds == INTEGER
    input.Body.network == STRING
    input.Body.networkConfig.allocatedIpRange == STRING
    input.Body.networkConfig.network == STRING
    input.Body.pscConfig.pscEnabled == BOOLEAN
    input.Body.secondaryConfig.primaryClusterName == STRING
    input.Body.sslConfig.caSource == enum_SslConfigCaSource[_]
    input.Body.sslConfig.sslMode == enum_SslConfigSslMode[_]
    input.Body.subscriptionType == enum_ClusterSubscriptionType[_]
    input.Body.tags.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.clusterId == STRING
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.createsecondary

enum_ClusterDatabaseVersion := [ "DATABASE_VERSION_UNSPECIFIED", "POSTGRES_13", "POSTGRES_14", "POSTGRES_15", "POSTGRES_16" ]
enum_ClusterSubscriptionType := [ "SUBSCRIPTION_TYPE_UNSPECIFIED", "STANDARD", "TRIAL" ]
enum_MaintenanceWindowDay := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_SslConfigCaSource := [ "CA_SOURCE_UNSPECIFIED", "CA_SOURCE_MANAGED" ]
enum_SslConfigSslMode := [ "SSL_MODE_UNSPECIFIED", "SSL_MODE_ALLOW", "SSL_MODE_REQUIRE", "SSL_MODE_VERIFY_CA", "ALLOW_UNENCRYPTED_AND_ENCRYPTED", "ENCRYPTED_ONLY" ]
enum_WeeklyScheduleDaysOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.automatedBackupPolicy.backupWindow == STRING
    input.Body.automatedBackupPolicy.enabled == BOOLEAN
    input.Body.automatedBackupPolicy.encryptionConfig.kmsKeyName == STRING
    input.Body.automatedBackupPolicy.labels.STRING == STRING
    input.Body.automatedBackupPolicy.location == STRING
    input.Body.automatedBackupPolicy.quantityBasedRetention.count == INTEGER
    input.Body.automatedBackupPolicy.timeBasedRetention.retentionPeriod == STRING
    input.Body.automatedBackupPolicy.weeklySchedule.daysOfWeek[_] == enum_WeeklyScheduleDaysOfWeek[_]
    input.Body.automatedBackupPolicy.weeklySchedule.startTimes[_].hours == INTEGER
    input.Body.automatedBackupPolicy.weeklySchedule.startTimes[_].minutes == INTEGER
    input.Body.automatedBackupPolicy.weeklySchedule.startTimes[_].nanos == INTEGER
    input.Body.automatedBackupPolicy.weeklySchedule.startTimes[_].seconds == INTEGER
    input.Body.continuousBackupConfig.enabled == BOOLEAN
    input.Body.continuousBackupConfig.encryptionConfig.kmsKeyName == STRING
    input.Body.continuousBackupConfig.recoveryWindowDays == INTEGER
    input.Body.databaseVersion == enum_ClusterDatabaseVersion[_]
    input.Body.displayName == STRING
    input.Body.encryptionConfig.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.initialUser.password == STRING
    input.Body.initialUser.user == STRING
    input.Body.labels.STRING == STRING
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].day == enum_MaintenanceWindowDay[_]
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.hours == INTEGER
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.minutes == INTEGER
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.nanos == INTEGER
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.seconds == INTEGER
    input.Body.network == STRING
    input.Body.networkConfig.allocatedIpRange == STRING
    input.Body.networkConfig.network == STRING
    input.Body.pscConfig.pscEnabled == BOOLEAN
    input.Body.secondaryConfig.primaryClusterName == STRING
    input.Body.sslConfig.caSource == enum_SslConfigCaSource[_]
    input.Body.sslConfig.sslMode == enum_SslConfigSslMode[_]
    input.Body.subscriptionType == enum_ClusterSubscriptionType[_]
    input.Body.tags.STRING == STRING
    input.ReqMap.parent == STRING
    input.Qs.clusterId == STRING
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.delete

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

alloydb.projects.locations.clusters.get

enum_ViewParameter := [ "CLUSTER_VIEW_UNSPECIFIED", "CLUSTER_VIEW_BASIC", "CLUSTER_VIEW_CONTINUOUS_BACKUP" ]

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

alloydb.projects.locations.clusters.instances.create

enum_InstanceAvailabilityType := [ "AVAILABILITY_TYPE_UNSPECIFIED", "ZONAL", "REGIONAL" ]
enum_InstanceInstanceType := [ "INSTANCE_TYPE_UNSPECIFIED", "PRIMARY", "READ_POOL", "SECONDARY" ]
enum_SslConfigCaSource := [ "CA_SOURCE_UNSPECIFIED", "CA_SOURCE_MANAGED" ]
enum_SslConfigSslMode := [ "SSL_MODE_UNSPECIFIED", "SSL_MODE_ALLOW", "SSL_MODE_REQUIRE", "SSL_MODE_VERIFY_CA", "ALLOW_UNENCRYPTED_AND_ENCRYPTED", "ENCRYPTED_ONLY" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.availabilityType == enum_InstanceAvailabilityType[_]
    input.Body.clientConnectionConfig.requireConnectors == BOOLEAN
    input.Body.clientConnectionConfig.sslConfig.caSource == enum_SslConfigCaSource[_]
    input.Body.clientConnectionConfig.sslConfig.sslMode == enum_SslConfigSslMode[_]
    input.Body.databaseFlags.STRING == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.gceZone == STRING
    input.Body.instanceType == enum_InstanceInstanceType[_]
    input.Body.labels.STRING == STRING
    input.Body.machineConfig.cpuCount == INTEGER
    input.Body.networkConfig.authorizedExternalNetworks[_].cidrRange == STRING
    input.Body.networkConfig.enableOutboundPublicIp == BOOLEAN
    input.Body.networkConfig.enablePublicIp == BOOLEAN
    input.Body.pscInstanceConfig.allowedConsumerProjects[_] == STRING
    input.Body.queryInsightsConfig.queryPlansPerMinute == INTEGER
    input.Body.queryInsightsConfig.queryStringLength == INTEGER
    input.Body.queryInsightsConfig.recordApplicationTags == BOOLEAN
    input.Body.queryInsightsConfig.recordClientAddress == BOOLEAN
    input.Body.readPoolConfig.nodeCount == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.instanceId == STRING
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.instances.createsecondary

enum_InstanceAvailabilityType := [ "AVAILABILITY_TYPE_UNSPECIFIED", "ZONAL", "REGIONAL" ]
enum_InstanceInstanceType := [ "INSTANCE_TYPE_UNSPECIFIED", "PRIMARY", "READ_POOL", "SECONDARY" ]
enum_SslConfigCaSource := [ "CA_SOURCE_UNSPECIFIED", "CA_SOURCE_MANAGED" ]
enum_SslConfigSslMode := [ "SSL_MODE_UNSPECIFIED", "SSL_MODE_ALLOW", "SSL_MODE_REQUIRE", "SSL_MODE_VERIFY_CA", "ALLOW_UNENCRYPTED_AND_ENCRYPTED", "ENCRYPTED_ONLY" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.availabilityType == enum_InstanceAvailabilityType[_]
    input.Body.clientConnectionConfig.requireConnectors == BOOLEAN
    input.Body.clientConnectionConfig.sslConfig.caSource == enum_SslConfigCaSource[_]
    input.Body.clientConnectionConfig.sslConfig.sslMode == enum_SslConfigSslMode[_]
    input.Body.databaseFlags.STRING == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.gceZone == STRING
    input.Body.instanceType == enum_InstanceInstanceType[_]
    input.Body.labels.STRING == STRING
    input.Body.machineConfig.cpuCount == INTEGER
    input.Body.networkConfig.authorizedExternalNetworks[_].cidrRange == STRING
    input.Body.networkConfig.enableOutboundPublicIp == BOOLEAN
    input.Body.networkConfig.enablePublicIp == BOOLEAN
    input.Body.pscInstanceConfig.allowedConsumerProjects[_] == STRING
    input.Body.queryInsightsConfig.queryPlansPerMinute == INTEGER
    input.Body.queryInsightsConfig.queryStringLength == INTEGER
    input.Body.queryInsightsConfig.recordApplicationTags == BOOLEAN
    input.Body.queryInsightsConfig.recordClientAddress == BOOLEAN
    input.Body.readPoolConfig.nodeCount == INTEGER
    input.ReqMap.parent == STRING
    input.Qs.instanceId == STRING
    input.Qs.requestId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.instances.delete

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

alloydb.projects.locations.clusters.instances.failover

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

alloydb.projects.locations.clusters.instances.get

enum_ViewParameter := [ "INSTANCE_VIEW_UNSPECIFIED", "INSTANCE_VIEW_BASIC", "INSTANCE_VIEW_FULL" ]

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

alloydb.projects.locations.clusters.instances.getConnectionInfo

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

alloydb.projects.locations.clusters.instances.injectFault

enum_InjectFaultRequestFaultType := [ "FAULT_TYPE_UNSPECIFIED", "STOP_VM" ]

valid {
    input.Body.faultType == enum_InjectFaultRequestFaultType[_]
    input.Body.requestId == STRING
    input.Body.validateOnly == BOOLEAN
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.instances.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
}

alloydb.projects.locations.clusters.instances.patch

enum_InstanceAvailabilityType := [ "AVAILABILITY_TYPE_UNSPECIFIED", "ZONAL", "REGIONAL" ]
enum_InstanceInstanceType := [ "INSTANCE_TYPE_UNSPECIFIED", "PRIMARY", "READ_POOL", "SECONDARY" ]
enum_SslConfigCaSource := [ "CA_SOURCE_UNSPECIFIED", "CA_SOURCE_MANAGED" ]
enum_SslConfigSslMode := [ "SSL_MODE_UNSPECIFIED", "SSL_MODE_ALLOW", "SSL_MODE_REQUIRE", "SSL_MODE_VERIFY_CA", "ALLOW_UNENCRYPTED_AND_ENCRYPTED", "ENCRYPTED_ONLY" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.availabilityType == enum_InstanceAvailabilityType[_]
    input.Body.clientConnectionConfig.requireConnectors == BOOLEAN
    input.Body.clientConnectionConfig.sslConfig.caSource == enum_SslConfigCaSource[_]
    input.Body.clientConnectionConfig.sslConfig.sslMode == enum_SslConfigSslMode[_]
    input.Body.databaseFlags.STRING == STRING
    input.Body.displayName == STRING
    input.Body.etag == STRING
    input.Body.gceZone == STRING
    input.Body.instanceType == enum_InstanceInstanceType[_]
    input.Body.labels.STRING == STRING
    input.Body.machineConfig.cpuCount == INTEGER
    input.Body.networkConfig.authorizedExternalNetworks[_].cidrRange == STRING
    input.Body.networkConfig.enableOutboundPublicIp == BOOLEAN
    input.Body.networkConfig.enablePublicIp == BOOLEAN
    input.Body.pscInstanceConfig.allowedConsumerProjects[_] == STRING
    input.Body.queryInsightsConfig.queryPlansPerMinute == INTEGER
    input.Body.queryInsightsConfig.queryStringLength == INTEGER
    input.Body.queryInsightsConfig.recordApplicationTags == BOOLEAN
    input.Body.queryInsightsConfig.recordClientAddress == BOOLEAN
    input.Body.readPoolConfig.nodeCount == INTEGER
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.instances.restart

valid {
    input.Body.nodeIds[_] == STRING
    input.Body.requestId == STRING
    input.Body.validateOnly == BOOLEAN
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.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
}

alloydb.projects.locations.clusters.patch

enum_ClusterDatabaseVersion := [ "DATABASE_VERSION_UNSPECIFIED", "POSTGRES_13", "POSTGRES_14", "POSTGRES_15", "POSTGRES_16" ]
enum_ClusterSubscriptionType := [ "SUBSCRIPTION_TYPE_UNSPECIFIED", "STANDARD", "TRIAL" ]
enum_MaintenanceWindowDay := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_SslConfigCaSource := [ "CA_SOURCE_UNSPECIFIED", "CA_SOURCE_MANAGED" ]
enum_SslConfigSslMode := [ "SSL_MODE_UNSPECIFIED", "SSL_MODE_ALLOW", "SSL_MODE_REQUIRE", "SSL_MODE_VERIFY_CA", "ALLOW_UNENCRYPTED_AND_ENCRYPTED", "ENCRYPTED_ONLY" ]
enum_WeeklyScheduleDaysOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]

valid {
    input.Body.annotations.STRING == STRING
    input.Body.automatedBackupPolicy.backupWindow == STRING
    input.Body.automatedBackupPolicy.enabled == BOOLEAN
    input.Body.automatedBackupPolicy.encryptionConfig.kmsKeyName == STRING
    input.Body.automatedBackupPolicy.labels.STRING == STRING
    input.Body.automatedBackupPolicy.location == STRING
    input.Body.automatedBackupPolicy.quantityBasedRetention.count == INTEGER
    input.Body.automatedBackupPolicy.timeBasedRetention.retentionPeriod == STRING
    input.Body.automatedBackupPolicy.weeklySchedule.daysOfWeek[_] == enum_WeeklyScheduleDaysOfWeek[_]
    input.Body.automatedBackupPolicy.weeklySchedule.startTimes[_].hours == INTEGER
    input.Body.automatedBackupPolicy.weeklySchedule.startTimes[_].minutes == INTEGER
    input.Body.automatedBackupPolicy.weeklySchedule.startTimes[_].nanos == INTEGER
    input.Body.automatedBackupPolicy.weeklySchedule.startTimes[_].seconds == INTEGER
    input.Body.continuousBackupConfig.enabled == BOOLEAN
    input.Body.continuousBackupConfig.encryptionConfig.kmsKeyName == STRING
    input.Body.continuousBackupConfig.recoveryWindowDays == INTEGER
    input.Body.databaseVersion == enum_ClusterDatabaseVersion[_]
    input.Body.displayName == STRING
    input.Body.encryptionConfig.kmsKeyName == STRING
    input.Body.etag == STRING
    input.Body.initialUser.password == STRING
    input.Body.initialUser.user == STRING
    input.Body.labels.STRING == STRING
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].day == enum_MaintenanceWindowDay[_]
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.hours == INTEGER
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.minutes == INTEGER
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.nanos == INTEGER
    input.Body.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.seconds == INTEGER
    input.Body.network == STRING
    input.Body.networkConfig.allocatedIpRange == STRING
    input.Body.networkConfig.network == STRING
    input.Body.pscConfig.pscEnabled == BOOLEAN
    input.Body.secondaryConfig.primaryClusterName == STRING
    input.Body.sslConfig.caSource == enum_SslConfigCaSource[_]
    input.Body.sslConfig.sslMode == enum_SslConfigSslMode[_]
    input.Body.subscriptionType == enum_ClusterSubscriptionType[_]
    input.Body.tags.STRING == STRING
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.promote

valid {
    input.Body.etag == STRING
    input.Body.requestId == STRING
    input.Body.validateOnly == BOOLEAN
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.restore

enum_ClusterDatabaseVersion := [ "DATABASE_VERSION_UNSPECIFIED", "POSTGRES_13", "POSTGRES_14", "POSTGRES_15", "POSTGRES_16" ]
enum_ClusterSubscriptionType := [ "SUBSCRIPTION_TYPE_UNSPECIFIED", "STANDARD", "TRIAL" ]
enum_MaintenanceWindowDay := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]
enum_SslConfigCaSource := [ "CA_SOURCE_UNSPECIFIED", "CA_SOURCE_MANAGED" ]
enum_SslConfigSslMode := [ "SSL_MODE_UNSPECIFIED", "SSL_MODE_ALLOW", "SSL_MODE_REQUIRE", "SSL_MODE_VERIFY_CA", "ALLOW_UNENCRYPTED_AND_ENCRYPTED", "ENCRYPTED_ONLY" ]
enum_WeeklyScheduleDaysOfWeek := [ "DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ]

valid {
    input.Body.backupSource.backupName == STRING
    input.Body.cluster.annotations.STRING == STRING
    input.Body.cluster.automatedBackupPolicy.backupWindow == STRING
    input.Body.cluster.automatedBackupPolicy.enabled == BOOLEAN
    input.Body.cluster.automatedBackupPolicy.encryptionConfig.kmsKeyName == STRING
    input.Body.cluster.automatedBackupPolicy.labels.STRING == STRING
    input.Body.cluster.automatedBackupPolicy.location == STRING
    input.Body.cluster.automatedBackupPolicy.quantityBasedRetention.count == INTEGER
    input.Body.cluster.automatedBackupPolicy.timeBasedRetention.retentionPeriod == STRING
    input.Body.cluster.automatedBackupPolicy.weeklySchedule.daysOfWeek[_] == enum_WeeklyScheduleDaysOfWeek[_]
    input.Body.cluster.automatedBackupPolicy.weeklySchedule.startTimes[_].hours == INTEGER
    input.Body.cluster.automatedBackupPolicy.weeklySchedule.startTimes[_].minutes == INTEGER
    input.Body.cluster.automatedBackupPolicy.weeklySchedule.startTimes[_].nanos == INTEGER
    input.Body.cluster.automatedBackupPolicy.weeklySchedule.startTimes[_].seconds == INTEGER
    input.Body.cluster.continuousBackupConfig.enabled == BOOLEAN
    input.Body.cluster.continuousBackupConfig.encryptionConfig.kmsKeyName == STRING
    input.Body.cluster.continuousBackupConfig.recoveryWindowDays == INTEGER
    input.Body.cluster.databaseVersion == enum_ClusterDatabaseVersion[_]
    input.Body.cluster.displayName == STRING
    input.Body.cluster.encryptionConfig.kmsKeyName == STRING
    input.Body.cluster.etag == STRING
    input.Body.cluster.initialUser.password == STRING
    input.Body.cluster.initialUser.user == STRING
    input.Body.cluster.labels.STRING == STRING
    input.Body.cluster.maintenanceUpdatePolicy.maintenanceWindows[_].day == enum_MaintenanceWindowDay[_]
    input.Body.cluster.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.hours == INTEGER
    input.Body.cluster.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.minutes == INTEGER
    input.Body.cluster.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.nanos == INTEGER
    input.Body.cluster.maintenanceUpdatePolicy.maintenanceWindows[_].startTime.seconds == INTEGER
    input.Body.cluster.network == STRING
    input.Body.cluster.networkConfig.allocatedIpRange == STRING
    input.Body.cluster.networkConfig.network == STRING
    input.Body.cluster.pscConfig.pscEnabled == BOOLEAN
    input.Body.cluster.secondaryConfig.primaryClusterName == STRING
    input.Body.cluster.sslConfig.caSource == enum_SslConfigCaSource[_]
    input.Body.cluster.sslConfig.sslMode == enum_SslConfigSslMode[_]
    input.Body.cluster.subscriptionType == enum_ClusterSubscriptionType[_]
    input.Body.cluster.tags.STRING == STRING
    input.Body.clusterId == STRING
    input.Body.continuousBackupSource.cluster == STRING
    input.Body.continuousBackupSource.pointInTime == STRING
    input.Body.requestId == STRING
    input.Body.validateOnly == BOOLEAN
    input.ReqMap.parent == STRING
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.switchover

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

alloydb.projects.locations.clusters.upgrade

enum_UpgradeClusterRequestVersion := [ "DATABASE_VERSION_UNSPECIFIED", "POSTGRES_13", "POSTGRES_14", "POSTGRES_15", "POSTGRES_16" ]

valid {
    input.Body.etag == STRING
    input.Body.requestId == STRING
    input.Body.validateOnly == BOOLEAN
    input.Body.version == enum_UpgradeClusterRequestVersion[_]
    input.ReqMap.name == STRING
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.users.create

enum_UserUserType := [ "USER_TYPE_UNSPECIFIED", "ALLOYDB_BUILT_IN", "ALLOYDB_IAM_USER" ]

valid {
    input.Body.databaseRoles[_] == STRING
    input.Body.keepExtraRoles == BOOLEAN
    input.Body.password == STRING
    input.Body.userType == enum_UserUserType[_]
    input.ReqMap.parent == STRING
    input.Qs.requestId == STRING
    input.Qs.userId == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.clusters.users.delete

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

alloydb.projects.locations.clusters.users.get

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

alloydb.projects.locations.clusters.users.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
}

alloydb.projects.locations.clusters.users.patch

enum_UserUserType := [ "USER_TYPE_UNSPECIFIED", "ALLOYDB_BUILT_IN", "ALLOYDB_IAM_USER" ]

valid {
    input.Body.databaseRoles[_] == STRING
    input.Body.keepExtraRoles == BOOLEAN
    input.Body.password == STRING
    input.Body.userType == enum_UserUserType[_]
    input.ReqMap.name == STRING
    input.Qs.allowMissing == BOOLEAN
    input.Qs.requestId == STRING
    input.Qs.updateMask == STRING
    input.Qs.validateOnly == BOOLEAN
    input.ProviderMetadata.Region == STRING
}

alloydb.projects.locations.get

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

alloydb.projects.locations.list

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

alloydb.projects.locations.operations.cancel

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

alloydb.projects.locations.operations.delete

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

alloydb.projects.locations.operations.get

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

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

alloydb.projects.locations.supportedDatabaseFlags.list

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