TIMESTREAM-INFLUXDB

CreateDbCluster

enum_ClusterDeploymentType := [ "MULTI_NODE_READ_REPLICAS" ]
enum_DbInstanceType := [ "db.influx.medium", "db.influx.large", "db.influx.xlarge", "db.influx.2xlarge", "db.influx.4xlarge", "db.influx.8xlarge", "db.influx.12xlarge", "db.influx.16xlarge", "db.influx.24xlarge" ]
enum_DbStorageType := [ "InfluxIOIncludedT1", "InfluxIOIncludedT2", "InfluxIOIncludedT3" ]
enum_FailoverMode := [ "AUTOMATIC", "NO_FAILOVER" ]
enum_NetworkType := [ "IPV4", "DUAL" ]

valid {
    input.Body.name == STRING
    input.Body.username == STRING
    input.Body.password == STRING
    input.Body.organization == STRING
    input.Body.bucket == STRING
    input.Body.port == INTEGER
    input.Body.dbParameterGroupIdentifier == STRING
    input.Body.dbInstanceType == enum_DbInstanceType[_]
    input.Body.dbStorageType == enum_DbStorageType[_]
    input.Body.allocatedStorage == INTEGER
    input.Body.networkType == enum_NetworkType[_]
    input.Body.publiclyAccessible == BOOLEAN
    input.Body.vpcSubnetIds[_] == STRING
    input.Body.vpcSecurityGroupIds[_] == STRING
    input.Body.deploymentType == enum_ClusterDeploymentType[_]
    input.Body.failoverMode == enum_FailoverMode[_]
    input.Body.logDeliveryConfiguration.s3Configuration.bucketName == STRING
    input.Body.logDeliveryConfiguration.s3Configuration.enabled == BOOLEAN
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDbInstance

enum_DbInstanceType := [ "db.influx.medium", "db.influx.large", "db.influx.xlarge", "db.influx.2xlarge", "db.influx.4xlarge", "db.influx.8xlarge", "db.influx.12xlarge", "db.influx.16xlarge", "db.influx.24xlarge" ]
enum_DbStorageType := [ "InfluxIOIncludedT1", "InfluxIOIncludedT2", "InfluxIOIncludedT3" ]
enum_DeploymentType := [ "SINGLE_AZ", "WITH_MULTIAZ_STANDBY" ]
enum_NetworkType := [ "IPV4", "DUAL" ]

valid {
    input.Body.name == STRING
    input.Body.username == STRING
    input.Body.password == STRING
    input.Body.organization == STRING
    input.Body.bucket == STRING
    input.Body.dbInstanceType == enum_DbInstanceType[_]
    input.Body.vpcSubnetIds[_] == STRING
    input.Body.vpcSecurityGroupIds[_] == STRING
    input.Body.publiclyAccessible == BOOLEAN
    input.Body.dbStorageType == enum_DbStorageType[_]
    input.Body.allocatedStorage == INTEGER
    input.Body.dbParameterGroupIdentifier == STRING
    input.Body.deploymentType == enum_DeploymentType[_]
    input.Body.logDeliveryConfiguration.s3Configuration.bucketName == STRING
    input.Body.logDeliveryConfiguration.s3Configuration.enabled == BOOLEAN
    input.Body.tags.STRING == STRING
    input.Body.port == INTEGER
    input.Body.networkType == enum_NetworkType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDbParameterGroup

enum_DataFusionRuntimeType := [ "multi-thread", "multi-thread-alt" ]
enum_DurationType := [ "hours", "minutes", "seconds", "milliseconds", "days" ]
enum_LogFormats := [ "full" ]
enum_LogLevel := [ "debug", "info", "error" ]
enum_TracingType := [ "log", "jaeger", "disabled" ]

valid {
    input.Body.name == STRING
    input.Body.description == STRING
    input.Body.parameters.InfluxDBv2.fluxLogEnabled == BOOLEAN
    input.Body.parameters.InfluxDBv2.logLevel == enum_LogLevel[_]
    input.Body.parameters.InfluxDBv2.noTasks == BOOLEAN
    input.Body.parameters.InfluxDBv2.queryConcurrency == INTEGER
    input.Body.parameters.InfluxDBv2.queryQueueSize == INTEGER
    input.Body.parameters.InfluxDBv2.tracingType == enum_TracingType[_]
    input.Body.parameters.InfluxDBv2.metricsDisabled == BOOLEAN
    input.Body.parameters.InfluxDBv2.httpIdleTimeout.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv2.httpIdleTimeout.value == LONG
    input.Body.parameters.InfluxDBv2.httpReadHeaderTimeout.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv2.httpReadHeaderTimeout.value == LONG
    input.Body.parameters.InfluxDBv2.httpReadTimeout.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv2.httpReadTimeout.value == LONG
    input.Body.parameters.InfluxDBv2.httpWriteTimeout.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv2.httpWriteTimeout.value == LONG
    input.Body.parameters.InfluxDBv2.influxqlMaxSelectBuckets == LONG
    input.Body.parameters.InfluxDBv2.influxqlMaxSelectPoint == LONG
    input.Body.parameters.InfluxDBv2.influxqlMaxSelectSeries == LONG
    input.Body.parameters.InfluxDBv2.pprofDisabled == BOOLEAN
    input.Body.parameters.InfluxDBv2.queryInitialMemoryBytes == LONG
    input.Body.parameters.InfluxDBv2.queryMaxMemoryBytes == LONG
    input.Body.parameters.InfluxDBv2.queryMemoryBytes == LONG
    input.Body.parameters.InfluxDBv2.sessionLength == INTEGER
    input.Body.parameters.InfluxDBv2.sessionRenewDisabled == BOOLEAN
    input.Body.parameters.InfluxDBv2.storageCacheMaxMemorySize == LONG
    input.Body.parameters.InfluxDBv2.storageCacheSnapshotMemorySize == LONG
    input.Body.parameters.InfluxDBv2.storageCacheSnapshotWriteColdDuration.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv2.storageCacheSnapshotWriteColdDuration.value == LONG
    input.Body.parameters.InfluxDBv2.storageCompactFullWriteColdDuration.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv2.storageCompactFullWriteColdDuration.value == LONG
    input.Body.parameters.InfluxDBv2.storageCompactThroughputBurst == LONG
    input.Body.parameters.InfluxDBv2.storageMaxConcurrentCompactions == INTEGER
    input.Body.parameters.InfluxDBv2.storageMaxIndexLogFileSize == LONG
    input.Body.parameters.InfluxDBv2.storageNoValidateFieldSize == BOOLEAN
    input.Body.parameters.InfluxDBv2.storageRetentionCheckInterval.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv2.storageRetentionCheckInterval.value == LONG
    input.Body.parameters.InfluxDBv2.storageSeriesFileMaxConcurrentSnapshotCompactions == INTEGER
    input.Body.parameters.InfluxDBv2.storageSeriesIdSetCacheSize == LONG
    input.Body.parameters.InfluxDBv2.storageWalMaxConcurrentWrites == INTEGER
    input.Body.parameters.InfluxDBv2.storageWalMaxWriteDelay.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv2.storageWalMaxWriteDelay.value == LONG
    input.Body.parameters.InfluxDBv2.uiDisabled == BOOLEAN
    input.Body.parameters.InfluxDBv3Core.queryFileLimit == INTEGER
    input.Body.parameters.InfluxDBv3Core.queryLogSize == INTEGER
    input.Body.parameters.InfluxDBv3Core.logFilter == STRING
    input.Body.parameters.InfluxDBv3Core.logFormat == enum_LogFormats[_]
    input.Body.parameters.InfluxDBv3Core.dataFusionNumThreads == INTEGER
    input.Body.parameters.InfluxDBv3Core.dataFusionRuntimeType == enum_DataFusionRuntimeType[_]
    input.Body.parameters.InfluxDBv3Core.dataFusionRuntimeDisableLifoSlot == BOOLEAN
    input.Body.parameters.InfluxDBv3Core.dataFusionRuntimeEventInterval == INTEGER
    input.Body.parameters.InfluxDBv3Core.dataFusionRuntimeGlobalQueueInterval == INTEGER
    input.Body.parameters.InfluxDBv3Core.dataFusionRuntimeMaxBlockingThreads == INTEGER
    input.Body.parameters.InfluxDBv3Core.dataFusionRuntimeMaxIoEventsPerTick == INTEGER
    input.Body.parameters.InfluxDBv3Core.dataFusionRuntimeThreadKeepAlive.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Core.dataFusionRuntimeThreadKeepAlive.value == LONG
    input.Body.parameters.InfluxDBv3Core.dataFusionRuntimeThreadPriority == INTEGER
    input.Body.parameters.InfluxDBv3Core.dataFusionMaxParquetFanout == INTEGER
    input.Body.parameters.InfluxDBv3Core.dataFusionUseCachedParquetLoader == BOOLEAN
    input.Body.parameters.InfluxDBv3Core.dataFusionConfig == STRING
    input.Body.parameters.InfluxDBv3Core.maxHttpRequestSize == LONG
    input.Body.parameters.InfluxDBv3Core.forceSnapshotMemThreshold.percent == STRING
    input.Body.parameters.InfluxDBv3Core.forceSnapshotMemThreshold.absolute == LONG
    input.Body.parameters.InfluxDBv3Core.walSnapshotSize == INTEGER
    input.Body.parameters.InfluxDBv3Core.walMaxWriteBufferSize == INTEGER
    input.Body.parameters.InfluxDBv3Core.snapshottedWalFilesToKeep == INTEGER
    input.Body.parameters.InfluxDBv3Core.preemptiveCacheAge.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Core.preemptiveCacheAge.value == LONG
    input.Body.parameters.InfluxDBv3Core.parquetMemCachePrunePercentage == FLOAT
    input.Body.parameters.InfluxDBv3Core.parquetMemCachePruneInterval.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Core.parquetMemCachePruneInterval.value == LONG
    input.Body.parameters.InfluxDBv3Core.disableParquetMemCache == BOOLEAN
    input.Body.parameters.InfluxDBv3Core.parquetMemCacheQueryPathDuration.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Core.parquetMemCacheQueryPathDuration.value == LONG
    input.Body.parameters.InfluxDBv3Core.lastCacheEvictionInterval.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Core.lastCacheEvictionInterval.value == LONG
    input.Body.parameters.InfluxDBv3Core.distinctCacheEvictionInterval.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Core.distinctCacheEvictionInterval.value == LONG
    input.Body.parameters.InfluxDBv3Core.gen1Duration.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Core.gen1Duration.value == LONG
    input.Body.parameters.InfluxDBv3Core.execMemPoolBytes.percent == STRING
    input.Body.parameters.InfluxDBv3Core.execMemPoolBytes.absolute == LONG
    input.Body.parameters.InfluxDBv3Core.parquetMemCacheSize.percent == STRING
    input.Body.parameters.InfluxDBv3Core.parquetMemCacheSize.absolute == LONG
    input.Body.parameters.InfluxDBv3Core.walReplayFailOnError == BOOLEAN
    input.Body.parameters.InfluxDBv3Core.walReplayConcurrencyLimit == INTEGER
    input.Body.parameters.InfluxDBv3Core.tableIndexCacheMaxEntries == INTEGER
    input.Body.parameters.InfluxDBv3Core.tableIndexCacheConcurrencyLimit == INTEGER
    input.Body.parameters.InfluxDBv3Core.gen1LookbackDuration.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Core.gen1LookbackDuration.value == LONG
    input.Body.parameters.InfluxDBv3Core.retentionCheckInterval.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Core.retentionCheckInterval.value == LONG
    input.Body.parameters.InfluxDBv3Core.deleteGracePeriod.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Core.deleteGracePeriod.value == LONG
    input.Body.parameters.InfluxDBv3Core.hardDeleteDefaultDuration.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Core.hardDeleteDefaultDuration.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.queryFileLimit == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.queryLogSize == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.logFilter == STRING
    input.Body.parameters.InfluxDBv3Enterprise.logFormat == enum_LogFormats[_]
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionNumThreads == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionRuntimeType == enum_DataFusionRuntimeType[_]
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionRuntimeDisableLifoSlot == BOOLEAN
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionRuntimeEventInterval == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionRuntimeGlobalQueueInterval == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionRuntimeMaxBlockingThreads == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionRuntimeMaxIoEventsPerTick == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionRuntimeThreadKeepAlive.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionRuntimeThreadKeepAlive.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionRuntimeThreadPriority == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionMaxParquetFanout == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionUseCachedParquetLoader == BOOLEAN
    input.Body.parameters.InfluxDBv3Enterprise.dataFusionConfig == STRING
    input.Body.parameters.InfluxDBv3Enterprise.maxHttpRequestSize == LONG
    input.Body.parameters.InfluxDBv3Enterprise.forceSnapshotMemThreshold.percent == STRING
    input.Body.parameters.InfluxDBv3Enterprise.forceSnapshotMemThreshold.absolute == LONG
    input.Body.parameters.InfluxDBv3Enterprise.walSnapshotSize == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.walMaxWriteBufferSize == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.snapshottedWalFilesToKeep == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.preemptiveCacheAge.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.preemptiveCacheAge.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.parquetMemCachePrunePercentage == FLOAT
    input.Body.parameters.InfluxDBv3Enterprise.parquetMemCachePruneInterval.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.parquetMemCachePruneInterval.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.disableParquetMemCache == BOOLEAN
    input.Body.parameters.InfluxDBv3Enterprise.parquetMemCacheQueryPathDuration.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.parquetMemCacheQueryPathDuration.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.lastCacheEvictionInterval.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.lastCacheEvictionInterval.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.distinctCacheEvictionInterval.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.distinctCacheEvictionInterval.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.gen1Duration.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.gen1Duration.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.execMemPoolBytes.percent == STRING
    input.Body.parameters.InfluxDBv3Enterprise.execMemPoolBytes.absolute == LONG
    input.Body.parameters.InfluxDBv3Enterprise.parquetMemCacheSize.percent == STRING
    input.Body.parameters.InfluxDBv3Enterprise.parquetMemCacheSize.absolute == LONG
    input.Body.parameters.InfluxDBv3Enterprise.walReplayFailOnError == BOOLEAN
    input.Body.parameters.InfluxDBv3Enterprise.walReplayConcurrencyLimit == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.tableIndexCacheMaxEntries == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.tableIndexCacheConcurrencyLimit == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.gen1LookbackDuration.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.gen1LookbackDuration.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.retentionCheckInterval.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.retentionCheckInterval.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.deleteGracePeriod.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.deleteGracePeriod.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.hardDeleteDefaultDuration.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.hardDeleteDefaultDuration.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.ingestQueryInstances == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.queryOnlyInstances == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.dedicatedCompactor == BOOLEAN
    input.Body.parameters.InfluxDBv3Enterprise.compactionRowLimit == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.compactionMaxNumFilesPerPlan == INTEGER
    input.Body.parameters.InfluxDBv3Enterprise.compactionGen2Duration.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.compactionGen2Duration.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.compactionMultipliers == STRING
    input.Body.parameters.InfluxDBv3Enterprise.compactionCleanupWait.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.compactionCleanupWait.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.compactionCheckInterval.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.compactionCheckInterval.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.lastValueCacheDisableFromHistory == BOOLEAN
    input.Body.parameters.InfluxDBv3Enterprise.distinctValueCacheDisableFromHistory == BOOLEAN
    input.Body.parameters.InfluxDBv3Enterprise.replicationInterval.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.replicationInterval.value == LONG
    input.Body.parameters.InfluxDBv3Enterprise.catalogSyncInterval.durationType == enum_DurationType[_]
    input.Body.parameters.InfluxDBv3Enterprise.catalogSyncInterval.value == LONG
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDbCluster

valid {
    input.Body.dbClusterId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDbInstance

valid {
    input.Body.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDbCluster

valid {
    input.Body.dbClusterId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDbInstance

valid {
    input.Body.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDbParameterGroup

valid {
    input.Body.identifier == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDbClusters

valid {
    input.Body.nextToken == STRING
    input.Body.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDbInstances

valid {
    input.Body.nextToken == STRING
    input.Body.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDbInstancesForCluster

valid {
    input.Body.dbClusterId == STRING
    input.Body.nextToken == STRING
    input.Body.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDbParameterGroups

valid {
    input.Body.nextToken == STRING
    input.Body.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.Body.resourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.resourceArn == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.Body.resourceArn == STRING
    input.Body.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDbCluster

enum_DbInstanceType := [ "db.influx.medium", "db.influx.large", "db.influx.xlarge", "db.influx.2xlarge", "db.influx.4xlarge", "db.influx.8xlarge", "db.influx.12xlarge", "db.influx.16xlarge", "db.influx.24xlarge" ]
enum_FailoverMode := [ "AUTOMATIC", "NO_FAILOVER" ]

valid {
    input.Body.dbClusterId == STRING
    input.Body.logDeliveryConfiguration.s3Configuration.bucketName == STRING
    input.Body.logDeliveryConfiguration.s3Configuration.enabled == BOOLEAN
    input.Body.dbParameterGroupIdentifier == STRING
    input.Body.port == INTEGER
    input.Body.dbInstanceType == enum_DbInstanceType[_]
    input.Body.failoverMode == enum_FailoverMode[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDbInstance

enum_DbInstanceType := [ "db.influx.medium", "db.influx.large", "db.influx.xlarge", "db.influx.2xlarge", "db.influx.4xlarge", "db.influx.8xlarge", "db.influx.12xlarge", "db.influx.16xlarge", "db.influx.24xlarge" ]
enum_DbStorageType := [ "InfluxIOIncludedT1", "InfluxIOIncludedT2", "InfluxIOIncludedT3" ]
enum_DeploymentType := [ "SINGLE_AZ", "WITH_MULTIAZ_STANDBY" ]

valid {
    input.Body.identifier == STRING
    input.Body.logDeliveryConfiguration.s3Configuration.bucketName == STRING
    input.Body.logDeliveryConfiguration.s3Configuration.enabled == BOOLEAN
    input.Body.dbParameterGroupIdentifier == STRING
    input.Body.port == INTEGER
    input.Body.dbInstanceType == enum_DbInstanceType[_]
    input.Body.deploymentType == enum_DeploymentType[_]
    input.Body.dbStorageType == enum_DbStorageType[_]
    input.Body.allocatedStorage == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}