Source code for troposphere.cassandra

# Copyright (c) 2012-2024, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import boolean, integer
from .validators.cassandra import (
    validate_billingmode_mode,
    validate_clusteringkeycolumn_orderby,
)


[docs]class ReplicationSpecification(AWSProperty): """ `ReplicationSpecification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-keyspace-replicationspecification.html>`__ """ props: PropsDictType = { "RegionList": ([str], False), "ReplicationStrategy": (str, False), }
[docs]class Keyspace(AWSObject): """ `Keyspace <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-keyspace.html>`__ """ resource_type = "AWS::Cassandra::Keyspace" props: PropsDictType = { "KeyspaceName": (str, False), "ReplicationSpecification": (ReplicationSpecification, False), "Tags": (Tags, False), }
[docs]class TargetTrackingScalingPolicyConfiguration(AWSProperty): """ `TargetTrackingScalingPolicyConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-targettrackingscalingpolicyconfiguration.html>`__ """ props: PropsDictType = { "DisableScaleIn": (boolean, False), "ScaleInCooldown": (integer, False), "ScaleOutCooldown": (integer, False), "TargetValue": (integer, True), }
[docs]class ScalingPolicy(AWSProperty): """ `ScalingPolicy <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-scalingpolicy.html>`__ """ props: PropsDictType = { "TargetTrackingScalingPolicyConfiguration": ( TargetTrackingScalingPolicyConfiguration, False, ), }
[docs]class AutoScalingSetting(AWSProperty): """ `AutoScalingSetting <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-autoscalingsetting.html>`__ """ props: PropsDictType = { "AutoScalingDisabled": (boolean, False), "MaximumUnits": (integer, False), "MinimumUnits": (integer, False), "ScalingPolicy": (ScalingPolicy, False), }
[docs]class AutoScalingSpecification(AWSProperty): """ `AutoScalingSpecification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-autoscalingspecification.html>`__ """ props: PropsDictType = { "ReadCapacityAutoScaling": (AutoScalingSetting, False), "WriteCapacityAutoScaling": (AutoScalingSetting, False), }
[docs]class ProvisionedThroughput(AWSProperty): """ `ProvisionedThroughput <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-provisionedthroughput.html>`__ """ props: PropsDictType = { "ReadCapacityUnits": (integer, True), "WriteCapacityUnits": (integer, True), }
[docs]class BillingMode(AWSProperty): """ `BillingMode <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-billingmode.html>`__ """ props: PropsDictType = { "Mode": (validate_billingmode_mode, True), "ProvisionedThroughput": (ProvisionedThroughput, False), }
[docs]class Column(AWSProperty): """ `Column <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-column.html>`__ """ props: PropsDictType = { "ColumnName": (str, True), "ColumnType": (str, True), }
[docs]class ClusteringKeyColumn(AWSProperty): """ `ClusteringKeyColumn <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-clusteringkeycolumn.html>`__ """ props: PropsDictType = { "Column": (Column, True), "OrderBy": (validate_clusteringkeycolumn_orderby, False), }
[docs]class EncryptionSpecification(AWSProperty): """ `EncryptionSpecification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-encryptionspecification.html>`__ """ props: PropsDictType = { "EncryptionType": (str, True), "KmsKeyIdentifier": (str, False), }
[docs]class ReplicaSpecification(AWSProperty): """ `ReplicaSpecification <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cassandra-table-replicaspecification.html>`__ """ props: PropsDictType = { "ReadCapacityAutoScaling": (AutoScalingSetting, False), "ReadCapacityUnits": (integer, False), "Region": (str, True), }
[docs]class Table(AWSObject): """ `Table <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cassandra-table.html>`__ """ resource_type = "AWS::Cassandra::Table" props: PropsDictType = { "AutoScalingSpecifications": (AutoScalingSpecification, False), "BillingMode": (BillingMode, False), "ClientSideTimestampsEnabled": (boolean, False), "ClusteringKeyColumns": ([ClusteringKeyColumn], False), "DefaultTimeToLive": (integer, False), "EncryptionSpecification": (EncryptionSpecification, False), "KeyspaceName": (str, True), "PartitionKeyColumns": ([Column], True), "PointInTimeRecoveryEnabled": (boolean, False), "RegularColumns": ([Column], False), "ReplicaSpecifications": ([ReplicaSpecification], False), "TableName": (str, False), "Tags": (Tags, False), }