TIMESTREAM-INFLUXDB

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" ]
enum_DbStorageType := [ "InfluxIOIncludedT1", "InfluxIOIncludedT2", "InfluxIOIncludedT3" ]
enum_DeploymentType := [ "SINGLE_AZ", "WITH_MULTIAZ_STANDBY" ]

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.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDbParameterGroup

enum_DurationType := [ "hours", "minutes", "seconds", "milliseconds" ]
enum_LogLevel := [ "debug", "info", "error" ]
enum_TracingType := [ "log", "jaeger" ]

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.tags.STRING == 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
}

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
}

ListDbInstances

valid {
    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
}

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" ]
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.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}