ElastiCache (elasticache)
Primary Models
Primary models are models that you can act on directly. They are the models that represent resources in the AWS service, and are acted on by the managers.
- pydantic model botocraft.services.elasticache.CacheCluster[source]
Bases:
CacheClusterModelMixin,PrimaryBoto3ModelContains all of the attributes of a specific cluster.
Show JSON schema
{ "title": "CacheCluster", "description": "Contains all of the attributes of a specific cluster.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroups": { "items": { "$ref": "#/$defs/CacheSecurityGroupMembership" }, "title": "Cachesecuritygroups", "type": "array" }, "NumCacheNodes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": 1, "title": "Numcachenodes" }, "CacheClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheclusterid" }, "ConfigurationEndpoint": { "$ref": "#/$defs/ElastiCacheEndpoint", "default": null }, "ClientDownloadLandingPage": { "default": null, "title": "Clientdownloadlandingpage", "type": "string" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" }, "EngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engineversion" }, "CacheClusterStatus": { "default": null, "title": "Cacheclusterstatus", "type": "string" }, "PreferredAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredavailabilityzone" }, "PreferredOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredoutpostarn" }, "CacheClusterCreateTime": { "default": null, "format": "date-time", "title": "Cacheclustercreatetime", "type": "string" }, "PreferredMaintenanceWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredmaintenancewindow" }, "PendingModifiedValues": { "$ref": "#/$defs/ElastiCachePendingModifiedValues", "default": null }, "NotificationConfiguration": { "$ref": "#/$defs/ElastiCacheNotificationConfiguration", "default": null }, "CacheParameterGroup": { "$ref": "#/$defs/CacheParameterGroupStatus", "default": null }, "CacheSubnetGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupname" }, "CacheNodes": { "items": { "$ref": "#/$defs/CacheNode" }, "title": "Cachenodes", "type": "array" }, "AutoMinorVersionUpgrade": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Autominorversionupgrade" }, "SecurityGroups": { "items": { "$ref": "#/$defs/SecurityGroupMembership" }, "title": "Securitygroups", "type": "array" }, "ReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Replicationgroupid" }, "SnapshotRetentionLimit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Snapshotretentionlimit" }, "SnapshotWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshotwindow" }, "AuthTokenEnabled": { "default": null, "title": "Authtokenenabled", "type": "boolean" }, "AuthTokenLastModifiedDate": { "default": null, "format": "date-time", "title": "Authtokenlastmodifieddate", "type": "string" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "AtRestEncryptionEnabled": { "default": null, "title": "Atrestencryptionenabled", "type": "boolean" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "ReplicationGroupLogDeliveryEnabled": { "default": null, "title": "Replicationgrouplogdeliveryenabled", "type": "boolean" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/LogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "NetworkType": { "anyOf": [ { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Networktype" }, "IpDiscovery": { "anyOf": [ { "enum": [ "ipv4", "ipv6" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipdiscovery" }, "TransitEncryptionMode": { "default": null, "enum": [ "preferred", "required" ], "title": "Transitencryptionmode", "type": "string" } }, "$defs": { "CacheNode": { "description": "Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-\ncompliant caching software - either Memcached, Valkey or Redis OSS.\n\nThe following node types are supported by ElastiCache. Generally speaking, the current generation types provide more\nmemory and computational power at lower cost when compared to their equivalent previous generation counterparts.\n\n* General purpose:\n\n+ Current generation:\n\n**M7g node types**: ``cache.m7g.large``, ``cache.m7g.xlarge``, ``cache.m7g.2xlarge``, ``cache.m7g.4xlarge``,\n ``cache.m7g.8xlarge``, ``cache.m7g.12xlarge``, ``cache.m7g.16xlarge``\n\nFor region availability, see `Supported Node Types <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.S\nupportedTypes.html#CacheNodes.SupportedTypesByRegion>`_\n\n**M6g node types** (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16\n onward): ``cache.m6g.large``, ``cache.m6g.xlarge``, ``cache.m6g.2xlarge``, ``cache.m6g.4xlarge``, ``cache.m6g.8xlarge``,\n ``cache.m6g.12xlarge``, ``cache.m6g.16xlarge``\n\n**M5 node types:** ``cache.m5.large``, ``cache.m5.xlarge``, ``cache.m5.2xlarge``, ``cache.m5.4xlarge``,\n ``cache.m5.12xlarge``, ``cache.m5.24xlarge``\n\n**M4 node types:** ``cache.m4.large``, ``cache.m4.xlarge``, ``cache.m4.2xlarge``, ``cache.m4.4xlarge``,\n ``cache.m4.10xlarge``\n\n**T4g node types** (available only for Redis OSS engine version 5.0.6 onward and Memcached engine version 1.5.16\n onward): ``cache.t4g.micro``, ``cache.t4g.small``, ``cache.t4g.medium``\n\n**T3 node types:** ``cache.t3.micro``, ``cache.t3.small``, ``cache.t3.medium``\n\n**T2 node types:** ``cache.t2.micro``, ``cache.t2.small``, ``cache.t2.medium``\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**T1 node types:** ``cache.t1.micro``\n\n**M1 node types:** ``cache.m1.small``, ``cache.m1.medium``, ``cache.m1.large``, ``cache.m1.xlarge``\n\n**M3 node types:** ``cache.m3.medium``, ``cache.m3.large``, ``cache.m3.xlarge``, ``cache.m3.2xlarge``\n* Compute optimized:\n\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**C1 node types:** ``cache.c1.xlarge``\n* Memory optimized:\n\n+ Current generation:\n\n**R7g node types**: ``cache.r7g.large``, ``cache.r7g.xlarge``, ``cache.r7g.2xlarge``, ``cache.r7g.4xlarge``,\n ``cache.r7g.8xlarge``, ``cache.r7g.12xlarge``, ``cache.r7g.16xlarge``\n\nFor region availability, see `Supported Node Types <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.S\nupportedTypes.html#CacheNodes.SupportedTypesByRegion>`_\n\n**R6g node types** (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16\n onward): ``cache.r6g.large``, ``cache.r6g.xlarge``, ``cache.r6g.2xlarge``, ``cache.r6g.4xlarge``, ``cache.r6g.8xlarge``,\n ``cache.r6g.12xlarge``, ``cache.r6g.16xlarge``\n\n**R5 node types:** ``cache.r5.large``, ``cache.r5.xlarge``, ``cache.r5.2xlarge``, ``cache.r5.4xlarge``,\n ``cache.r5.12xlarge``, ``cache.r5.24xlarge``\n\n**R4 node types:** ``cache.r4.large``, ``cache.r4.xlarge``, ``cache.r4.2xlarge``, ``cache.r4.4xlarge``,\n ``cache.r4.8xlarge``, ``cache.r4.16xlarge``\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**M2 node types:** ``cache.m2.xlarge``, ``cache.m2.2xlarge``, ``cache.m2.4xlarge``\n\n**R3 node types:** ``cache.r3.large``, ``cache.r3.xlarge``, ``cache.r3.2xlarge``, ``cache.r3.4xlarge``,\n ``cache.r3.8xlarge``\n\n**Additional node type info**\n\n* All current generation instance types are created in Amazon VPC by default.\n* Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.\n* Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.\n* The configuration variables ``appendonly`` and ``appendfsync`` are not supported on Valkey, or on Redis OSS version\n 2.8.22 and later.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "CacheNodeStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodestatus" }, "CacheNodeCreateTime": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodecreatetime" }, "Endpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "ParameterGroupStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametergroupstatus" }, "SourceCacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Sourcecachenodeid" }, "CustomerAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Customeravailabilityzone" }, "CustomerOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Customeroutpostarn" } }, "title": "CacheNode", "type": "object" }, "CacheParameterGroupStatus": { "description": "Status of the cache parameter group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheParameterGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupname" }, "ParameterApplyStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parameterapplystatus" }, "CacheNodeIdsToReboot": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodeidstoreboot" } }, "title": "CacheParameterGroupStatus", "type": "object" }, "CacheSecurityGroupMembership": { "description": "Represents a cluster's status within a particular cache security group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesecuritygroupname" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } }, "title": "CacheSecurityGroupMembership", "type": "object" }, "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" }, "ElastiCacheNotificationConfiguration": { "description": "Describes a notification topic and its status.\n\nNotification topics are used for publishing ElastiCache events to subscribers using\nAmazon Simple Notification Service (SNS).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "TopicArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Topicarn" }, "TopicStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Topicstatus" } }, "title": "ElastiCacheNotificationConfiguration", "type": "object" }, "ElastiCachePendingModifiedValues": { "description": "A group of settings that are applied to the cluster in the future, or that are\ncurrently being applied.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NumCacheNodes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Numcachenodes" }, "CacheNodeIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodeidstoremove" }, "EngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engineversion" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "AuthTokenStatus": { "anyOf": [ { "enum": [ "SETTING", "ROTATING" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Authtokenstatus" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/PendingLogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ScaleConfig": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheScaleConfig" }, { "type": "null" } ], "default": null } }, "title": "ElastiCachePendingModifiedValues", "type": "object" }, "ElastiCacheScaleConfig": { "description": "Configuration settings for horizontal or vertical scaling operations on Memcached\nclusters.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ScalePercentage": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scalepercentage" }, "ScaleIntervalMinutes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scaleintervalminutes" } }, "title": "ElastiCacheScaleConfig", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" }, "LogDeliveryConfiguration": { "description": "Returns the destination, format and type of the logs.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" }, "Status": { "anyOf": [ { "enum": [ "active", "enabling", "modifying", "disabling", "error" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "Message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Message" } }, "title": "LogDeliveryConfiguration", "type": "object" }, "PendingLogDeliveryConfiguration": { "description": "The log delivery configurations being modified.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "title": "PendingLogDeliveryConfiguration", "type": "object" }, "SecurityGroupMembership": { "description": "Represents a single cache security group and its status.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SecurityGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Securitygroupid" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } }, "title": "SecurityGroupMembership", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
CacheParameterGroup (botocraft.services.elasticache.CacheParameterGroupStatus)CacheSecurityGroups (builtins.list[CacheSecurityGroupMembership])ConfigurationEndpoint (botocraft.services.elasticache.ElastiCacheEndpoint)LogDeliveryConfigurations (builtins.list[LogDeliveryConfiguration] | None)NotificationConfiguration (botocraft.services.elasticache.ElastiCacheNotificationConfiguration)PendingModifiedValues (botocraft.services.elasticache.ElastiCachePendingModifiedValues)
- field AtRestEncryptionEnabled: bool = None
A flag that enables encryption at-rest when set to
true.
- field AuthTokenEnabled: bool = None
A flag that enables using an
AuthToken(password) when issuing Valkey or Redis OSS commands.
- field AutoMinorVersionUpgrade: bool | None = None
If you are running Valkey or Redis OSS engine version 6.0 or later, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign.
This parameter is disabled for previous versions.
- field CacheClusterId: str | None = None
The user-supplied identifier of the cluster.
This identifier is a unique key that identifies a cluster.
- field CacheClusterStatus: str = None
The current state of this cluster, one of the following values:
available,creating,deleted,deleting,incompatible-network,modifying,rebooting cluster nodes,restore-failed, orsnapshotting.
- field CacheNodeType: str | None = None
The name of the compute and memory capacity node type for the cluster.
- field CacheNodes: builtins.list[CacheNode] [Optional]
A list of cache nodes that are members of the cluster.
- field CacheParameterGroup: CacheParameterGroupStatus = None
Status of the cache parameter group.
- field CacheSecurityGroups: builtins.list[CacheSecurityGroupMembership] [Optional]
A list of cache security group elements, composed of name and status sub-elements.
- field CacheSubnetGroupName: str | None = None
The name of the cache subnet group associated with the cluster.
- field ClientDownloadLandingPage: str = None
The URL of the web page where you can download the latest ElastiCache client library.
- field ConfigurationEndpoint: ElastiCacheEndpoint = None
Represents a Memcached cluster endpoint which can be used by an application to connect to any node in the cluster.
The configuration endpoint will always have
.cfgin it.
- field Engine: str | None = None
The name of the cache engine (
memcachedorredis) to be used for this cluster.
- field EngineVersion: str | None = None
The version of the cache engine that is used in this cluster.
- field IpDiscovery: Literal['ipv4', 'ipv6'] | None = None
The network type associated with the cluster, either
ipv4|ipv6.IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 to 7.1 or Memcached engine version 1.6.6 and above on all instances built on the Nitro system.
- field LogDeliveryConfigurations: builtins.list[LogDeliveryConfiguration] | None [Optional]
Returns the destination, format and type of the logs.
- field NetworkType: Literal['ipv4', 'ipv6', 'dual_stack'] | None = None
Must be either
ipv4|ipv6|dual_stack.IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 7.1 or Memcached engine version 1.6.6 and above on all instances built on the Nitro system.
- field NotificationConfiguration: ElastiCacheNotificationConfiguration = None
Describes a notification topic and its status.
Notification topics are used for publishing ElastiCache events to subscribers using Amazon Simple Notification Service (SNS).
- field PendingModifiedValues: ElastiCachePendingModifiedValues = None
A group of settings that are applied to the cluster in the future, or that are currently being applied.
- field PreferredAvailabilityZone: str | None = None
The name of the Availability Zone in which the cluster is located or “Multiple” if the cache nodes are located in different Availability Zones.
- field PreferredMaintenanceWindow: str | None = None
Specifies the weekly time range during which maintenance on the cluster is performed.
It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.
- field PreferredOutpostArn: str | None = None
The outpost ARN in which the cache cluster is created.
- field ReplicationGroupId: str | None = None
The replication group to which this cluster belongs.
If this field is empty, the cluster is not associated with any replication group.
- field ReplicationGroupLogDeliveryEnabled: bool = None
A boolean value indicating whether log delivery is enabled for the replication group.
- field SecurityGroups: builtins.list[SecurityGroupMembership] [Optional]
A list of VPC Security Groups associated with the cluster.
- field SnapshotRetentionLimit: int | None = None
The number of days for which ElastiCache retains automatic cluster snapshots before deleting them.
For example, if you set
SnapshotRetentionLimitto 5, a snapshot that was taken today is retained for 5 days before being deleted.
- field SnapshotWindow: str | None = None
The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cluster.
- field TransitEncryptionEnabled: bool | None = None
A flag that enables in-transit encryption when set to
true.
- field TransitEncryptionMode: Literal['preferred', 'required'] = None
A setting that allows you to migrate your clients to use in-transit encryption, with no downtime.
- field session: boto3.session.Session = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- manager_class
alias of
CacheClusterManager
- delete()
Delete the model.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- save(**kwargs)
Save the model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- property arn: str | None
Return the ARN of the model. This is the value of the
ARNattribute.- Returns:
The ARN of the model instance.
- property hostname: str
The hostname of the cache cluster.
Note
This is the hostname of the first node in the cluster. If you have a cluster with multiple nodes, you will need to use the
CacheNodesproperty to get the hostnames of the other nodes.
- property name: str | None
Return the name of the model. This is the value of the
CacheClusterIdattribute.- Returns:
The name of the model instance.
- objects: ClassVar[classproperty]
Get the manager for this model, and set it as a class property
- property parameter_group: CacheParameterGroup | None
Return the cache parameter group associated with this cluster.
Note
The output of this property is cached on the model instance, so calling this multiple times will not result in multiple calls to the AWS API. If you need a fresh copy of the data, you can re-get the model instance from the manager.
- property pk: str | None
Return the primary key of the model. This is the value of the
ARNattribute.- Returns:
The primary key of the model instance.
- property port: int
The port of the cache cluster.
Note
This is the port of the first node in the cluster. If you have a cluster with multiple nodes, you will need to use the
CacheNodesproperty to get the ports of the other nodes.
- property security_groups: PrimaryBoto3ModelQuerySet
List all the
CacheClusterobjects that are part of this replication group.
- property subnet_group: CacheSubnetGroup | None
Return the cache subnet group associated with this cluster.
Note
The output of this property is cached on the model instance, so calling this multiple times will not result in multiple calls to the AWS API. If you need a fresh copy of the data, you can re-get the model instance from the manager.
- pydantic model botocraft.services.elasticache.CacheParameter[source]
Bases:
ReadonlyPrimaryBoto3ModelDescribes an individual setting that controls some aspect of ElastiCache behavior.
Show JSON schema
{ "title": "CacheParameter", "description": "Describes an individual setting that controls some aspect of ElastiCache behavior.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ParameterName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametername" }, "ParameterValue": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametervalue" }, "Description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "Source": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Source" }, "DataType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Datatype" }, "AllowedValues": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Allowedvalues" }, "IsModifiable": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Ismodifiable" }, "MinimumEngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Minimumengineversion" }, "ChangeType": { "anyOf": [ { "enum": [ "immediate", "requires-reboot" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Changetype" } }, "additionalProperties": true }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
frozen: bool = True
extra: str = allow
- Fields:
- field ChangeType: Literal['immediate', 'requires-reboot'] | None = None
Indicates whether a change to the parameter is applied immediately or requires a reboot for the change to be applied.
You can force a reboot or wait until the next maintenance window’s reboot. For more information, see Rebooting a Cluster.
- field IsModifiable: bool | None = None
Indicates whether (
true) or not (false) the parameter can be modified.Some parameters have security or operational implications that prevent them from being changed.
- field MinimumEngineVersion: str | None = None
The earliest cache engine version to which the parameter can apply.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- manager_class
alias of
CacheParameterManager
- delete()
Delete the model.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- save(**kwargs)
Save the model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- property arn: str | None
Get the ARN of the model instance.
- Returns:
The ARN of the model instance.
- Raises:
ValueError – If the model has no ARN identity field.
- property name: str | None
Return the name of the model. This is the value of the
ParameterNameattribute.- Returns:
The name of the model instance.
- objects: ClassVar[classproperty]
Get the manager for this model, and set it as a class property
- property pk: str | None
Return the primary key of the model. This is the value of the
ParameterNameattribute.- Returns:
The primary key of the model instance.
- pydantic model botocraft.services.elasticache.CacheParameterGroup[source]
Bases:
PrimaryBoto3ModelRepresents the output of a
CreateCacheParameterGroupoperation.Show JSON schema
{ "title": "CacheParameterGroup", "description": "Represents the output of a ``CreateCacheParameterGroup`` operation.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "IsGlobal": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Isglobal" }, "CacheParameterGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupname" }, "CacheParameterGroupFamily": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupfamily" }, "Description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "ARN": { "default": null, "title": "Arn", "type": "string" } }, "required": [ "IsGlobal" ] }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field CacheParameterGroupFamily: str | None = None
The name of the cache parameter group family that this cache parameter group is compatible with.
- field IsGlobal: bool | None [Required]
Indicates whether the parameter group is associated with a Global datastore.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- manager_class
alias of
CacheParameterGroupManager
- delete()
Delete the model.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- parameters(Source: str | None = 'user') list[botocraft.services.elasticache.CacheParameter][source]
Return the parameters for the cache parameter group associated with this cluster.
- Keyword Arguments:
Source – The parameter types to return.
- reset(ResetAllParameters: bool | None = None, ParameterNameValues: list[botocraft.services.elasticache.ParameterNameValue] | None = {}) str[source]
Reset the cache parameter group associated with this cluster to the default values.
- Keyword Arguments:
ResetAllParameters – If
true, all parameters in the cache parameter group are reset to their default values. Iffalse, only the parameters listed byParameterNameValuesare reset to their default values.ParameterNameValues – An array of parameter names to reset to their default values. If
ResetAllParametersistrue, do not useParameterNameValues. IfResetAllParametersisfalse, you must specify the name of at least one parameter to reset.
- save(**kwargs)
Save the model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- property arn: str | None
Return the ARN of the model. This is the value of the
ARNattribute.- Returns:
The ARN of the model instance.
- property name: str | None
Return the name of the model. This is the value of the
CacheParameterGroupNameattribute.- Returns:
The name of the model instance.
- objects: ClassVar[classproperty]
Get the manager for this model, and set it as a class property
- pydantic model botocraft.services.elasticache.CacheSecurityGroup[source]
Bases:
PrimaryBoto3ModelRepresents the output of one of the following operations:
AuthorizeCacheSecurityGroupIngressCreateCacheSecurityGroupRevokeCacheSecurityGroupIngress
Show JSON schema
{ "title": "CacheSecurityGroup", "description": "Represents the output of one of the following operations:\n\n* ``AuthorizeCacheSecurityGroupIngress``\n* ``CreateCacheSecurityGroup``\n* ``RevokeCacheSecurityGroupIngress``", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "OwnerId": { "default": null, "title": "Ownerid", "type": "string" }, "CacheSecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesecuritygroupname" }, "Description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "EC2SecurityGroups": { "items": { "$ref": "#/$defs/EC2SecurityGroup" }, "title": "Ec2Securitygroups", "type": "array" }, "ARN": { "default": null, "title": "Arn", "type": "string" } }, "$defs": { "EC2SecurityGroup": { "description": "Provides ownership and status information for an Amazon EC2 security group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "EC2SecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Securitygroupname" }, "EC2SecurityGroupOwnerId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Securitygroupownerid" } }, "title": "EC2SecurityGroup", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field EC2SecurityGroups: builtins.list[EC2SecurityGroup] [Optional]
A list of Amazon EC2 security groups that are associated with this cache security group.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- manager_class
alias of
CacheSecurityGroupManager
- authorize_ingress(EC2SecurityGroupName: str, EC2SecurityGroupOwnerId: str) CacheSecurityGroup[source]
Authorize ingress to the cache security group associated with this cluster.
- Parameters:
EC2SecurityGroupName – The Amazon EC2 security group to be authorized for ingress to the cache security group.
EC2SecurityGroupOwnerId – The Amazon account number of the Amazon EC2 security group owner. Note that this is not the same thing as an Amazon access key ID - you must provide a valid Amazon account number for this parameter.
- delete()
Delete the model.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- revoke_ingress(EC2SecurityGroupName: str, EC2SecurityGroupOwnerId: str) CacheSecurityGroup[source]
Authorize ingress to the cache security group associated with this cluster.
- Parameters:
EC2SecurityGroupName – The Amazon EC2 security group to be authorized for ingress to the cache security group.
EC2SecurityGroupOwnerId – The Amazon account number of the Amazon EC2 security group owner. Note that this is not the same thing as an Amazon access key ID - you must provide a valid Amazon account number for this parameter.
- save(**kwargs)
Save the model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- property arn: str | None
Return the ARN of the model. This is the value of the
ARNattribute.- Returns:
The ARN of the model instance.
- property ec2_security_groups: list[botocraft.services.ec2.SecurityGroup] | None
Return the EC2 security groups associated with this cache security group.
Note
The output of this property is cached on the model instance, so calling this multiple times will not result in multiple calls to the AWS API. If you need a fresh copy of the data, you can re-get the model instance from the manager.
- property name: str | None
Return the name of the model. This is the value of the
CacheSecurityGroupNameattribute.- Returns:
The name of the model instance.
- objects: ClassVar[classproperty]
Get the manager for this model, and set it as a class property
- pydantic model botocraft.services.elasticache.CacheSubnetGroup[source]
Bases:
PrimaryBoto3ModelRepresents the output of one of the following operations:
CreateCacheSubnetGroupModifyCacheSubnetGroup
Show JSON schema
{ "title": "CacheSubnetGroup", "description": "Represents the output of one of the following operations:\n\n* ``CreateCacheSubnetGroup``\n* ``ModifyCacheSubnetGroup``", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSubnetGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupname" }, "CacheSubnetGroupDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupdescription" }, "VpcId": { "default": null, "title": "Vpcid", "type": "string" }, "Subnets": { "items": { "$ref": "#/$defs/Subnet" }, "title": "Subnets", "type": "array" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "SupportedNetworkTypes": { "items": { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, "title": "Supportednetworktypes", "type": "array" } }, "$defs": { "EC2BlockPublicAccessStates": { "description": "The state of VPC Block Public Access (BPA).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "InternetGatewayBlockMode": { "anyOf": [ { "enum": [ "off", "block-bidirectional", "block-ingress" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Internetgatewayblockmode" } }, "title": "EC2BlockPublicAccessStates", "type": "object" }, "EC2PrivateDnsNameOptionsOnLaunch": { "description": "Describes the options for instance hostnames.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "HostnameType": { "anyOf": [ { "enum": [ "ip-name", "resource-name" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Hostnametype" }, "EnableResourceNameDnsARecord": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enableresourcenamednsarecord" }, "EnableResourceNameDnsAAAARecord": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enableresourcenamednsaaaarecord" } }, "title": "EC2PrivateDnsNameOptionsOnLaunch", "type": "object" }, "Subnet": { "description": "Describes a subnet.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "VpcId": { "title": "Vpcid", "type": "string" }, "AvailabilityZone": { "title": "Availabilityzone", "type": "string" }, "CidrBlock": { "title": "Cidrblock", "type": "string" }, "Ipv6Native": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Ipv6Native" }, "Tags": { "anyOf": [ { "items": { "$ref": "#/$defs/Tag" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "AvailabilityZoneId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Availabilityzoneid" }, "EnableLniAtDeviceIndex": { "default": null, "title": "Enablelniatdeviceindex", "type": "integer" }, "MapCustomerOwnedIpOnLaunch": { "default": null, "title": "Mapcustomerownediponlaunch", "type": "boolean" }, "CustomerOwnedIpv4Pool": { "default": null, "title": "Customerownedipv4Pool", "type": "string" }, "OwnerId": { "default": null, "title": "Ownerid", "type": "string" }, "AssignIpv6AddressOnCreation": { "default": null, "title": "Assignipv6Addressoncreation", "type": "boolean" }, "Ipv6CidrBlockAssociationSet": { "items": { "$ref": "#/$defs/SubnetIpv6CidrBlockAssociation" }, "title": "Ipv6Cidrblockassociationset", "type": "array" }, "SubnetArn": { "default": null, "title": "Subnetarn", "type": "string" }, "OutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Outpostarn" }, "EnableDns64": { "default": null, "title": "Enabledns64", "type": "boolean" }, "PrivateDnsNameOptionsOnLaunch": { "$ref": "#/$defs/EC2PrivateDnsNameOptionsOnLaunch", "default": null }, "BlockPublicAccessStates": { "$ref": "#/$defs/EC2BlockPublicAccessStates", "default": null }, "Type": { "default": null, "title": "Type", "type": "string" }, "SubnetId": { "default": null, "title": "Subnetid", "type": "string" }, "State": { "default": null, "enum": [ "pending", "available", "unavailable", "failed", "failed-insufficient-capacity" ], "title": "State", "type": "string" }, "AvailableIpAddressCount": { "default": null, "title": "Availableipaddresscount", "type": "integer" }, "DefaultForAz": { "default": null, "title": "Defaultforaz", "type": "boolean" }, "MapPublicIpOnLaunch": { "default": null, "title": "Mappubliciponlaunch", "type": "boolean" } }, "required": [ "VpcId", "AvailabilityZone", "CidrBlock" ], "title": "Subnet", "type": "object" }, "SubnetCidrBlockState": { "description": "Describes the state of a CIDR block.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "State": { "anyOf": [ { "enum": [ "associating", "associated", "disassociating", "disassociated", "failing", "failed" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "State" }, "StatusMessage": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Statusmessage" } }, "title": "SubnetCidrBlockState", "type": "object" }, "SubnetIpv6CidrBlockAssociation": { "description": "Describes an association between a subnet and an IPv6 CIDR block.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "AssociationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Associationid" }, "Ipv6CidrBlock": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipv6Cidrblock" }, "Ipv6CidrBlockState": { "anyOf": [ { "$ref": "#/$defs/SubnetCidrBlockState" }, { "type": "null" } ], "default": null }, "Ipv6AddressAttribute": { "anyOf": [ { "enum": [ "public", "private" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipv6Addressattribute" }, "IpSource": { "anyOf": [ { "enum": [ "amazon", "byoip", "none" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipsource" } }, "title": "SubnetIpv6CidrBlockAssociation", "type": "object" }, "Tag": { "description": "The metadata that you apply to a resource to help you categorize and\norganize them. Each tag consists of a key and an optional value. You define\nthem.\n\nThe following basic restrictions apply to tags:\n\n* Maximum number of tags per resource - 50\n* For each resource, each tag key must be unique, and each tag key can have\n only one value.\n* Maximum key length - 128 Unicode characters in UTF-8\n* Maximum value length - 256 Unicode characters in UTF-8\n* If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.\n* Tag keys and values are case-sensitive.\n* Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such\n as a prefix for either keys or values as it is reserved for Amazon Web Services\n use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Key" }, "Value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "Tag", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field Subnets: builtins.list[Subnet] [Optional]
A list of subnets associated with the cache subnet group.
- field SupportedNetworkTypes: builtins.list[Literal['ipv4', 'ipv6', 'dual_stack']] [Optional]
Either
ipv4|ipv6|dual_stack.IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 to 7.1 or Memcached engine version 1.6.6 and above on all instances built on the Nitro system.
- field VpcId: str = None
The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- manager_class
alias of
CacheSubnetGroupManager
- delete()
Delete the model.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- save(**kwargs)
Save the model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- property arn: str | None
Return the ARN of the model. This is the value of the
ARNattribute.- Returns:
The ARN of the model instance.
- property ec2_subnets: list[botocraft.services.ec2.Subnet] | None
Return the EC2 subnets associated with this cache subnet group.
Note
The output of this property is cached on the model instance, so calling this multiple times will not result in multiple calls to the AWS API. If you need a fresh copy of the data, you can re-get the model instance from the manager.
- property name: str | None
Return the name of the model. This is the value of the
CacheSubnetGroupNameattribute.- Returns:
The name of the model instance.
- objects: ClassVar[classproperty]
Get the manager for this model, and set it as a class property
- pydantic model botocraft.services.elasticache.ElastiCacheUser[source]
Bases:
TagsDictMixin,PrimaryBoto3ModelShow JSON schema
{ "title": "ElastiCacheUser", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "active", "title": "Status" }, "UserId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Userid" }, "UserName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Username" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" }, "MinimumEngineVersion": { "default": null, "title": "Minimumengineversion", "type": "string" }, "AccessString": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Accessstring" }, "UserGroupIds": { "items": { "type": "string" }, "title": "Usergroupids", "type": "array" }, "Authentication": { "$ref": "#/$defs/ElastiCacheAuthentication", "default": null }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "Tags": { "anyOf": [ { "items": { "$ref": "#/$defs/Tag" }, "type": "array" }, { "type": "null" } ], "title": "Tags" } }, "$defs": { "ElastiCacheAuthentication": { "description": "Indicates whether the user requires a password to authenticate.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Type": { "anyOf": [ { "enum": [ "password", "no-password", "iam" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Type" }, "PasswordCount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Passwordcount" } }, "title": "ElastiCacheAuthentication", "type": "object" }, "Tag": { "description": "The metadata that you apply to a resource to help you categorize and\norganize them. Each tag consists of a key and an optional value. You define\nthem.\n\nThe following basic restrictions apply to tags:\n\n* Maximum number of tags per resource - 50\n* For each resource, each tag key must be unique, and each tag key can have\n only one value.\n* Maximum key length - 128 Unicode characters in UTF-8\n* Maximum value length - 256 Unicode characters in UTF-8\n* If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.\n* Tag keys and values are case-sensitive.\n* Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such\n as a prefix for either keys or values as it is reserved for Amazon Web Services\n use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Key" }, "Value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "Tag", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field Authentication: ElastiCacheAuthentication = None
Denotes whether the user requires a password to authenticate.
- field MinimumEngineVersion: str = None
The minimum engine version required, which is Redis OSS 6.0.
- field Status: str | None = 'active'
Indicates the user status.
Can be “active”, “modifying” or “deleting”.
- field UserGroupIds: builtins.list[str] [Optional]
Returns a list of the user group IDs the user belongs to.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- manager_class
alias of
ElastiCacheUserManager
- tag_class
alias of
Tag
- delete()
Delete the model.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- save(**kwargs)
Save the model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- property arn: str | None
Return the ARN of the model. This is the value of the
ARNattribute.- Returns:
The ARN of the model instance.
- property name: str | None
Return the name of the model. This is the value of the
UserIdattribute.- Returns:
The name of the model instance.
- objects: ClassVar[classproperty]
Get the manager for this model, and set it as a class property
- pydantic model botocraft.services.elasticache.ElastiCacheUserGroup[source]
Bases:
TagsDictMixin,PrimaryBoto3ModelShow JSON schema
{ "title": "ElastiCacheUserGroup", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "active", "title": "Status" }, "UserGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Usergroupid" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" }, "UserIds": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Userids" }, "MinimumEngineVersion": { "default": null, "title": "Minimumengineversion", "type": "string" }, "PendingChanges": { "$ref": "#/$defs/UserGroupPendingChanges", "default": null }, "ReplicationGroups": { "items": { "type": "string" }, "title": "Replicationgroups", "type": "array" }, "ServerlessCaches": { "items": { "type": "string" }, "title": "Serverlesscaches", "type": "array" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "Tags": { "anyOf": [ { "items": { "$ref": "#/$defs/Tag" }, "type": "array" }, { "type": "null" } ], "title": "Tags" } }, "$defs": { "Tag": { "description": "The metadata that you apply to a resource to help you categorize and\norganize them. Each tag consists of a key and an optional value. You define\nthem.\n\nThe following basic restrictions apply to tags:\n\n* Maximum number of tags per resource - 50\n* For each resource, each tag key must be unique, and each tag key can have\n only one value.\n* Maximum key length - 128 Unicode characters in UTF-8\n* Maximum value length - 256 Unicode characters in UTF-8\n* If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.\n* Tag keys and values are case-sensitive.\n* Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such\n as a prefix for either keys or values as it is reserved for Amazon Web Services\n use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Key" }, "Value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "Tag", "type": "object" }, "UserGroupPendingChanges": { "description": "Returns the updates being applied to the user group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "UserIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Useridstoremove" }, "UserIdsToAdd": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Useridstoadd" } }, "title": "UserGroupPendingChanges", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field MinimumEngineVersion: str = None
The minimum engine version required, which is Redis OSS 6.0.
- field PendingChanges: UserGroupPendingChanges = None
A list of updates being applied to the user group.
- field ReplicationGroups: builtins.list[str] [Optional]
A list of replication groups that the user group can access.
- field ServerlessCaches: builtins.list[str] [Optional]
Indicates which serverless caches the specified user group is associated with.
Available for Valkey, Redis OSS and Serverless Memcached only.
- field Status: str | None = 'active'
Indicates user group status.
Can be “creating”, “active”, “modifying”, “deleting”.
- field UserIds: builtins.list[str] | None [Optional]
The list of user IDs that belong to the user group.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- manager_class
alias of
ElastiCacheUserGroupManager
- tag_class
alias of
Tag
- delete()
Delete the model.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- save(**kwargs)
Save the model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- property arn: str | None
Return the ARN of the model. This is the value of the
ARNattribute.- Returns:
The ARN of the model instance.
- property name: str | None
Return the name of the model. This is the value of the
UserGroupIdattribute.- Returns:
The name of the model instance.
- objects: ClassVar[classproperty]
Get the manager for this model, and set it as a class property
- pydantic model botocraft.services.elasticache.ReplicationGroup[source]
Bases:
ReplicationGroupModelMixin,PrimaryBoto3ModelContains all of the attributes of a specific Valkey or Redis OSS replication group.
Show JSON schema
{ "title": "ReplicationGroup", "description": "Contains all of the attributes of a specific Valkey or Redis OSS replication group.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "MemberClusters": { "items": { "type": "string" }, "title": "Memberclusters", "type": "array" }, "MultiAZ": { "anyOf": [ { "enum": [ "enabled", "disabled" ], "type": "string" }, { "type": "null" } ], "title": "Multiaz" }, "ReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Replicationgroupid" }, "Description": { "default": null, "title": "Description", "type": "string" }, "GlobalReplicationGroupInfo": { "$ref": "#/$defs/ElastiCacheGlobalReplicationGroupInfo", "default": null }, "Status": { "default": null, "title": "Status", "type": "string" }, "PendingModifiedValues": { "$ref": "#/$defs/ReplicationGroupPendingModifiedValues", "default": null }, "NodeGroups": { "items": { "$ref": "#/$defs/NodeGroup" }, "title": "Nodegroups", "type": "array" }, "SnapshottingClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshottingclusterid" }, "AutomaticFailover": { "default": null, "enum": [ "enabled", "disabled", "enabling", "disabling" ], "title": "Automaticfailover", "type": "string" }, "ConfigurationEndpoint": { "$ref": "#/$defs/ElastiCacheEndpoint", "default": null }, "SnapshotRetentionLimit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Snapshotretentionlimit" }, "SnapshotWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshotwindow" }, "ClusterEnabled": { "default": null, "title": "Clusterenabled", "type": "boolean" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "AuthTokenEnabled": { "default": null, "title": "Authtokenenabled", "type": "boolean" }, "AuthTokenLastModifiedDate": { "default": null, "format": "date-time", "title": "Authtokenlastmodifieddate", "type": "string" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "AtRestEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Atrestencryptionenabled" }, "MemberClustersOutpostArns": { "items": { "type": "string" }, "title": "Memberclustersoutpostarns", "type": "array" }, "KmsKeyId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Kmskeyid" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "UserGroupIds": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupids" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/LogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "ReplicationGroupCreateTime": { "default": null, "format": "date-time", "title": "Replicationgroupcreatetime", "type": "string" }, "DataTiering": { "default": null, "enum": [ "enabled", "disabled" ], "title": "Datatiering", "type": "string" }, "AutoMinorVersionUpgrade": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Autominorversionupgrade" }, "NetworkType": { "anyOf": [ { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Networktype" }, "IpDiscovery": { "anyOf": [ { "enum": [ "ipv4", "ipv6" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipdiscovery" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ClusterMode": { "anyOf": [ { "enum": [ "enabled", "disabled", "compatible" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Clustermode" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" } }, "$defs": { "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" }, "ElastiCacheGlobalReplicationGroupInfo": { "description": "The name of the Global datastore and role of this replication group in the Global\ndatastore.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "GlobalReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Globalreplicationgroupid" }, "GlobalReplicationGroupMemberRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Globalreplicationgroupmemberrole" } }, "title": "ElastiCacheGlobalReplicationGroupInfo", "type": "object" }, "ElastiCacheSlotMigration": { "description": "Represents the progress of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ProgressPercentage": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Progresspercentage" } }, "title": "ElastiCacheSlotMigration", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" }, "LogDeliveryConfiguration": { "description": "Returns the destination, format and type of the logs.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" }, "Status": { "anyOf": [ { "enum": [ "active", "enabling", "modifying", "disabling", "error" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "Message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Message" } }, "title": "LogDeliveryConfiguration", "type": "object" }, "NodeGroup": { "description": "Represents a collection of cache nodes in a replication group.\n\nOne node in the node group is the read/write primary node. All the other nodes are\nread-only Replica nodes.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NodeGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Nodegroupid" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "PrimaryEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "ReaderEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "Slots": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Slots" }, "NodeGroupMembers": { "anyOf": [ { "items": { "$ref": "#/$defs/NodeGroupMember" }, "type": "array" }, { "type": "null" } ], "title": "Nodegroupmembers" } }, "title": "NodeGroup", "type": "object" }, "NodeGroupMember": { "description": "Represents a single node within a node group (shard).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheclusterid" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "ReadEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "PreferredAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredavailabilityzone" }, "PreferredOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredoutpostarn" }, "CurrentRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Currentrole" } }, "title": "NodeGroupMember", "type": "object" }, "PendingLogDeliveryConfiguration": { "description": "The log delivery configurations being modified.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "title": "PendingLogDeliveryConfiguration", "type": "object" }, "ReplicationGroupPendingModifiedValues": { "description": "The settings to be applied to the Valkey or Redis OSS replication group, either\nimmediately or during the next maintenance window.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "PrimaryClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Primaryclusterid" }, "AutomaticFailoverStatus": { "anyOf": [ { "enum": [ "enabled", "disabled" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Automaticfailoverstatus" }, "Resharding": { "anyOf": [ { "$ref": "#/$defs/ReshardingStatus" }, { "type": "null" } ], "default": null }, "AuthTokenStatus": { "anyOf": [ { "enum": [ "SETTING", "ROTATING" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Authtokenstatus" }, "UserGroups": { "anyOf": [ { "$ref": "#/$defs/UserGroupsUpdateStatus" }, { "type": "null" } ], "default": null }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/PendingLogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ClusterMode": { "anyOf": [ { "enum": [ "enabled", "disabled", "compatible" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Clustermode" } }, "title": "ReplicationGroupPendingModifiedValues", "type": "object" }, "ReshardingStatus": { "description": "The status of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SlotMigration": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheSlotMigration" }, { "type": "null" } ], "default": null } }, "title": "ReshardingStatus", "type": "object" }, "UserGroupsUpdateStatus": { "description": "The status of the user group update.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "UserGroupIdsToAdd": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoadd" }, "UserGroupIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoremove" } }, "title": "UserGroupsUpdateStatus", "type": "object" } }, "required": [ "MultiAZ" ] }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
AutomaticFailover (Literal['enabled', 'disabled', 'enabling', 'disabling'])ClusterMode (Literal['enabled', 'disabled', 'compatible'] | None)ConfigurationEndpoint (botocraft.services.elasticache.ElastiCacheEndpoint)GlobalReplicationGroupInfo (botocraft.services.elasticache.ElastiCacheGlobalReplicationGroupInfo)LogDeliveryConfigurations (list[botocraft.services.elasticache.LogDeliveryConfiguration] | None)PendingModifiedValues (botocraft.services.elasticache.ReplicationGroupPendingModifiedValues)TransitEncryptionMode (Literal['preferred', 'required'] | None)
- field AtRestEncryptionEnabled: bool | None = None
A flag that enables encryption at-rest when set to
true.
- field AuthTokenEnabled: bool = None
A flag that enables using an
AuthToken(password) when issuing Valkey or Redis OSS commands.
- field AutoMinorVersionUpgrade: bool | None = None
If you are running Valkey 7.2 and above, or Redis OSS engine version 6.0 and above, set this parameter to yes if you want to opt-in to the next auto minor version upgrade campaign.
This parameter is disabled for previous versions.
- field AutomaticFailover: Literal['enabled', 'disabled', 'enabling', 'disabling'] = None
Indicates the status of automatic failover for this Valkey or Redis OSS replication group.
- field CacheNodeType: str | None = None
The name of the compute and memory capacity node type for each node in the replication group.
- field ClusterEnabled: bool = None
A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be partitioned across multiple shards (API/CLI: node groups).
- field ClusterMode: Literal['enabled', 'disabled', 'compatible'] | None = None
Enabled or Disabled.
To modify cluster mode from Disabled to Enabled, you must first set the cluster mode to Compatible. Compatible mode allows your Valkey or Redis OSS clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Valkey or Redis OSS clients to use cluster mode enabled, you can then complete cluster mode configuration and set the cluster mode to Enabled.
- field ConfigurationEndpoint: ElastiCacheEndpoint = None
The configuration endpoint for this replication group.
Use the configuration endpoint to connect to this replication group.
- field DataTiering: Literal['enabled', 'disabled'] = None
Enables data tiering.
Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. For more information, see Data tiering.
- field Engine: str | None = None
The engine used in a replication group.
The options are valkey, memcached or redis.
- field GlobalReplicationGroupInfo: ElastiCacheGlobalReplicationGroupInfo = None
The name of the Global datastore and role of this replication group in the Global datastore.
- field IpDiscovery: Literal['ipv4', 'ipv6'] | None = None
The network type you choose when modifying a cluster, either
ipv4|ipv6.IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 to 7.1 or Memcached engine version 1.6.6 and above on all instances built on the Nitro system.
- field LogDeliveryConfigurations: builtins.list[LogDeliveryConfiguration] | None [Optional]
Returns the destination, format and type of the logs.
- field MemberClusters: builtins.list[str] [Optional]
The names of all the cache clusters that are part of this replication group.
- field MemberClustersOutpostArns: builtins.list[str] [Optional]
The outpost ARNs of the replication group’s member clusters.
- field MultiAZ: Literal['enabled', 'disabled'] | None [Required]
A flag indicating if you have Multi-AZ enabled to enhance fault tolerance.
For more information, see Minimizing Downtime: Multi-AZ
- field NetworkType: Literal['ipv4', 'ipv6', 'dual_stack'] | None = None
Must be either
ipv4|ipv6|dual_stack.IPv6 is supported for workloads using Valkey 7.2 and above, Redis OSS engine version 6.2 to 7.1 or Memcached engine version 1.6.6 and above on all instances built on the Nitro system.
- field NodeGroups: builtins.list[NodeGroup] [Optional]
A list of node groups in this replication group.
For Valkey or Redis OSS (cluster mode disabled) replication groups, this is a single-element list. For Valkey or Redis OSS (cluster mode enabled) replication groups, the list contains an entry for each node group (shard).
- field PendingModifiedValues: ReplicationGroupPendingModifiedValues = None
A group of settings to be applied to the replication group, either immediately or during the next maintenance window.
- field SnapshotRetentionLimit: int | None = None
The number of days for which ElastiCache retains automatic cluster snapshots before deleting them.
For example, if you set
SnapshotRetentionLimitto 5, a snapshot that was taken today is retained for 5 days before being deleted.
- field SnapshotWindow: str | None = None
The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
- field SnapshottingClusterId: str | None = None
The cluster ID that is used as the daily snapshot source for the replication group.
- field Status: str = None
The current state of this replication group -
creating,available,modifying,deleting,create- failed,snapshotting.
- field TransitEncryptionEnabled: bool | None = None
A flag that enables in-transit encryption when set to
true.
- field TransitEncryptionMode: Literal['preferred', 'required'] | None = None
A setting that allows you to migrate your clients to use in-transit encryption, with no downtime.
- field UserGroupIds: builtins.list[str] | None [Optional]
The ID of the user group associated to the replication group.
- field session: boto3.session.Session = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- manager_class
alias of
ReplicationGroupManager
- delete()
Delete the model.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- save(**kwargs)
Save the model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- property arn: str | None
Return the ARN of the model. This is the value of the
ARNattribute.- Returns:
The ARN of the model instance.
- property clusters: PrimaryBoto3ModelQuerySet
List all the
CacheClusterobjects that are part of this replication group.
- property engine_version: str
The engine version of the replication group. This is the same as the engine version of the first cluster in the replication group.
- property name: str | None
Return the name of the model. This is the value of the
ReplicationGroupIdattribute.- Returns:
The name of the model instance.
- objects: ClassVar[classproperty]
Get the manager for this model, and set it as a class property
Managers
Managers work with the primary models to provide a high-level interface to the AWS service. They are responsible for creating, updating, and deleting the resources in the service, as well as any additional operations that are available for those models.
- class botocraft.services.elasticache.CacheClusterManager[source]
Bases:
ElastiCacheManagerTagsMixin,Boto3ModelManager- create(model: CacheCluster, AZMode: Literal['single-az', 'cross-az'] | None = None, PreferredAvailabilityZones: list[str] | None = None, CacheParameterGroupName: str | None = None, CacheSecurityGroupNames: list[str] | None = None, SecurityGroupIds: list[str] | None = None, Tags: list[botocraft.services.common.Tag] | None = None, SnapshotArns: list[str] | None = None, SnapshotName: str | None = None, Port: int | None = None, NotificationTopicArn: str | None = None, AuthToken: str | None = None, OutpostMode: Literal['single-outpost', 'cross-outpost'] | None = None, PreferredOutpostArns: list[str] | None = None) CacheCluster[source]
Creates a cluster. All nodes in the cluster run the same protocol-compliant cache engine software, either Memcached, Valkey or Redis OSS.
- Parameters:
model – The
CacheClusterto create.- Keyword Arguments:
AZMode – Specifies whether the nodes in this Memcached cluster are created in a single Availability Zone or created across multiple Availability Zones in the cluster’s region.
PreferredAvailabilityZones – A list of the Availability Zones in which cache nodes are created. The order of the zones in the list is not important.
CacheParameterGroupName – The name of the parameter group to associate with this cluster. If this argument is omitted, the default parameter group for the specified engine is used. You cannot use any parameter group which has
cluster-enabled='yes'when creating a cluster.CacheSecurityGroupNames – A list of security group names to associate with this cluster.
SecurityGroupIds – One or more VPC security groups associated with the cluster.
Tags – A list of tags to be added to this resource.
SnapshotArns – A single-element string list containing an Amazon Resource Name (ARN) that uniquely identifies a Valkey or Redis OSS RDB snapshot file stored in Amazon S3. The snapshot file is used to populate the node group (shard). The Amazon S3 object name in the ARN cannot contain any commas.
SnapshotName – The name of a Valkey or Redis OSS snapshot from which to restore data into the new node group (shard). The snapshot status changes to
restoringwhile the new node group (shard) is being created.Port – The port number on which each of the cache nodes accepts connections.
NotificationTopicArn – The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.
AuthToken – Reserved parameter. The password used to access a password protected server.
OutpostMode – Specifies whether the nodes in the cluster are created in a single outpost or across multiple outposts.
PreferredOutpostArns – The outpost ARNs in which the cache cluster is created.
- delete(CacheClusterId: str, *, FinalSnapshotIdentifier: str | None = None) CacheCluster[source]
Deletes a previously provisioned cluster.
DeleteCacheClusterdeletes all associated cache nodes, node endpoints and the cluster itself. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the cluster; you cannot cancel or revert this operation.- Parameters:
CacheClusterId – The cluster identifier for the cluster to be deleted. This parameter is not case sensitive.
- Keyword Arguments:
FinalSnapshotIdentifier – The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. ElastiCache creates the snapshot, and then deletes the cluster immediately afterward.
- get(CacheClusterId: str, *, ShowCacheNodeInfo: bool = True, ShowCacheClustersNotInReplicationGroups: bool | None = None) CacheCluster | None[source]
Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cache cluster if a cluster identifier is supplied.
- Parameters:
CacheClusterId – The user-supplied cluster identifier. If this parameter is specified, only information about that specific cluster is returned. This parameter isn’t case sensitive.
- Keyword Arguments:
ShowCacheNodeInfo – An optional flag that can be included in the
DescribeCacheClusterrequest to retrieve information about the individual cache nodes.ShowCacheClustersNotInReplicationGroups – An optional flag that can be included in the
DescribeCacheClusterrequest to show only nodes (API/CLI: clusters) that are not members of a replication group. In practice, this means Memcached and single node Valkey or Redis OSS clusters.
- list(*, CacheClusterId: str | None = None, ShowCacheNodeInfo: bool = True, ShowCacheClustersNotInReplicationGroups: bool | None = None) PrimaryBoto3ModelQuerySet[source]
Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cache cluster if a cluster identifier is supplied.
- Keyword Arguments:
CacheClusterId – The user-supplied cluster identifier. If this parameter is specified, only information about that specific cluster is returned. This parameter isn’t case sensitive.
ShowCacheNodeInfo – An optional flag that can be included in the
DescribeCacheClusterrequest to retrieve information about the individual cache nodes.ShowCacheClustersNotInReplicationGroups – An optional flag that can be included in the
DescribeCacheClusterrequest to show only nodes (API/CLI: clusters) that are not members of a replication group. In practice, this means Memcached and single node Valkey or Redis OSS clusters.
- update(model: CacheCluster, CacheNodeIdsToRemove: list[str] | None = None, AZMode: Literal['single-az', 'cross-az'] | None = None, NewAvailabilityZones: list[str] | None = None, CacheSecurityGroupNames: list[str] | None = None, SecurityGroupIds: list[str] | None = None, NotificationTopicArn: str | None = None, CacheParameterGroupName: str | None = None, NotificationTopicStatus: str | None = None, ApplyImmediately: bool | None = None, AuthToken: str | None = None, AuthTokenUpdateStrategy: Literal['SET', 'ROTATE', 'DELETE'] | None = None, ScaleConfig: ElastiCacheScaleConfig | None = None) CacheCluster[source]
Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration parameters by specifying the parameters and the new values.
- Parameters:
model – The
CacheClusterto update.- Keyword Arguments:
CacheNodeIdsToRemove – A list of cache node IDs to be removed. A node ID is a numeric identifier (0001, 0002, etc.). This parameter is only valid when
NumCacheNodesis less than the existing number of cache nodes. The number of cache node IDs supplied in this parameter must match the difference between the existing number of cache nodes in the cluster or pending cache nodes, whichever is greater, and the value ofNumCacheNodesin the request.AZMode – Specifies whether the new nodes in this Memcached cluster are all created in a single Availability Zone or created across multiple Availability Zones.
NewAvailabilityZones – This option is only supported on Memcached clusters.
CacheSecurityGroupNames – A list of cache security group names to authorize on this cluster. This change is asynchronously applied as soon as possible.
SecurityGroupIds – Specifies the VPC Security Groups associated with the cluster.
NotificationTopicArn – The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent.
CacheParameterGroupName – The name of the cache parameter group to apply to this cluster. This change is asynchronously applied as soon as possible for parameters when the
ApplyImmediatelyparameter is specified astruefor this request.NotificationTopicStatus – The status of the Amazon SNS notification topic. Notifications are sent only if the status is
active.ApplyImmediately – If
true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of thePreferredMaintenanceWindowsetting for the cluster.AuthToken – Reserved parameter. The password used to access a password protected server. This parameter must be specified with the
auth-token-updateparameter. Password constraints:AuthTokenUpdateStrategy – Specifies the strategy to use to update the AUTH token. This parameter must be specified with the
auth-tokenparameter. Possible values:ScaleConfig – Configures horizontal or vertical scaling for Memcached clusters, specifying the scaling percentage and interval.
- class botocraft.services.elasticache.CacheParameterGroupManager[source]
Bases:
Boto3ModelManager- create(model: CacheParameterGroup, Tags: list[botocraft.services.common.Tag] | None = None) CacheParameterGroup[source]
Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster or replication group using the CacheParameterGroup.
- Parameters:
model – The
CacheParameterGroupto create.- Keyword Arguments:
Tags – A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
- delete(CacheParameterGroupName: str) None[source]
Deletes the specified cache parameter group. You cannot delete a cache parameter group if it is associated with any cache clusters. You cannot delete the default cache parameter groups in your account.
- Parameters:
CacheParameterGroupName – The name of the cache parameter group to delete.
- get(CacheParameterGroupName: str) CacheParameterGroup | None[source]
Returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list contains only the descriptions for that group.
- Parameters:
CacheParameterGroupName – The name of a specific cache parameter group to return details for.
- list(*, CacheParameterGroupName: str | None = None) PrimaryBoto3ModelQuerySet[source]
Returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list contains only the descriptions for that group.
- Keyword Arguments:
CacheParameterGroupName – The name of a specific cache parameter group to return details for.
- parameters(CacheParameterGroupName: str, *, Source: str | None = None) list[botocraft.services.elasticache.CacheParameter][source]
Returns the detailed parameter list for a particular cache parameter group.
- Parameters:
CacheParameterGroupName – The name of a specific cache parameter group to return details for.
- Keyword Arguments:
Source – The parameter types to return.
- reset(CacheParameterGroupName: str, *, ResetAllParameters: bool | None = None, ParameterNameValues: list[botocraft.services.elasticache.ParameterNameValue] | None = None) str[source]
Modifies the parameters of a cache parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire cache parameter group, specify the
ResetAllParametersandCacheParameterGroupNameparameters.- Parameters:
CacheParameterGroupName – The name of the cache parameter group to reset.
- Keyword Arguments:
ResetAllParameters – If
true, all parameters in the cache parameter group are reset to their default values. Iffalse, only the parameters listed byParameterNameValuesare reset to their default values.ParameterNameValues – An array of parameter names to reset to their default values. If
ResetAllParametersistrue, do not useParameterNameValues. IfResetAllParametersisfalse, you must specify the name of at least one parameter to reset.
- update(model: CacheParameterGroup) str[source]
Modifies the parameters of a cache parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.
- Parameters:
model – The
CacheParameterGroupto update.
- class botocraft.services.elasticache.CacheParameterManager[source]
Bases:
ReadonlyBoto3ModelManager- List(CacheParameterGroupName: str, *, Source: str | None = None) list[botocraft.services.elasticache.CacheParameter][source]
Returns the detailed parameter list for a particular cache parameter group.
- Parameters:
CacheParameterGroupName – The name of a specific cache parameter group to return details for.
- Keyword Arguments:
Source – The parameter types to return.
- get(CacheParameterGroupName: str, *, Source: str | None = None) CacheParameter | None[source]
Returns the detailed parameter list for a particular cache parameter group.
- Parameters:
CacheParameterGroupName – The name of a specific cache parameter group to return details for.
- Keyword Arguments:
Source – The parameter types to return.
- class botocraft.services.elasticache.CacheSecurityGroupManager[source]
Bases:
Boto3ModelManager- authorize_ingress(CacheSecurityGroupName: str, EC2SecurityGroupName: str, EC2SecurityGroupOwnerId: str) CacheSecurityGroup[source]
Allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are used as the authorization mechanism.
- Parameters:
CacheSecurityGroupName – The cache security group that allows network ingress.
EC2SecurityGroupName – The Amazon EC2 security group to be authorized for ingress to the cache security group.
EC2SecurityGroupOwnerId – The Amazon account number of the Amazon EC2 security group owner. Note that this is not the same thing as an Amazon access key ID - you must provide a valid Amazon account number for this parameter.
- create(model: CacheSecurityGroup, Tags: list[botocraft.services.common.Tag] | None = None) CacheSecurityGroup[source]
Creates a new cache security group. Use a cache security group to control access to one or more clusters.
- Parameters:
model – The
CacheSecurityGroupto create.- Keyword Arguments:
Tags – A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
- delete(CacheSecurityGroupName: str) None[source]
Deletes a cache security group.
- Parameters:
CacheSecurityGroupName – The name of the cache security group to delete.
- get(CacheSecurityGroupName: str) CacheSecurityGroup | None[source]
Returns a list of cache security group descriptions. If a cache security group name is specified, the list contains only the description of that group. This applicable only when you have ElastiCache in Classic setup.
- Parameters:
CacheSecurityGroupName – The name of the cache security group to return details for.
- list(*, CacheSecurityGroupName: str | None = None) PrimaryBoto3ModelQuerySet[source]
Returns a list of cache security group descriptions. If a cache security group name is specified, the list contains only the description of that group. This applicable only when you have ElastiCache in Classic setup.
- Keyword Arguments:
CacheSecurityGroupName – The name of the cache security group to return details for.
- revoke_ingress(CacheSecurityGroupName: str, EC2SecurityGroupName: str, EC2SecurityGroupOwnerId: str) CacheSecurityGroup[source]
Revokes ingress from a cache security group. Use this operation to disallow access from an Amazon EC2 security group that had been previously authorized.
- Parameters:
CacheSecurityGroupName – The name of the cache security group to revoke ingress from.
EC2SecurityGroupName – The name of the Amazon EC2 security group to revoke access from.
EC2SecurityGroupOwnerId – The Amazon account number of the Amazon EC2 security group owner. Note that this is not the same thing as an Amazon access key ID - you must provide a valid Amazon account number for this parameter.
- class botocraft.services.elasticache.CacheSubnetGroupManager[source]
Bases:
Boto3ModelManager- create(model: CacheSubnetGroup, Tags: list[botocraft.services.common.Tag] | None = None) CacheSubnetGroup[source]
Creates a new cache subnet group.
- Parameters:
model – The
CacheSubnetGroupto create.- Keyword Arguments:
Tags – A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.
- delete(CacheSubnetGroupName: str) None[source]
Deletes a cache subnet group.
- Parameters:
CacheSubnetGroupName – The name of the cache subnet group to delete.
- get(CacheSubnetGroupName: str) CacheSubnetGroup | None[source]
Returns a list of cache subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group. This is applicable only when you have ElastiCache in VPC setup. All ElastiCache clusters now launch in VPC by default.
- Parameters:
CacheSubnetGroupName – The name of the cache subnet group to return details for.
- list(*, CacheSubnetGroupName: str | None = None) PrimaryBoto3ModelQuerySet[source]
Returns a list of cache subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group. This is applicable only when you have ElastiCache in VPC setup. All ElastiCache clusters now launch in VPC by default.
- Keyword Arguments:
CacheSubnetGroupName – The name of the cache subnet group to return details for.
- update(model: CacheSubnetGroup, SubnetIds: list[str] | None = None) CacheSubnetGroup[source]
Modifies an existing cache subnet group.
- Parameters:
model – The
CacheSubnetGroupto update.- Keyword Arguments:
SubnetIds – The EC2 subnet IDs for the cache subnet group.
- class botocraft.services.elasticache.ElastiCacheUserGroupManager[source]
Bases:
Boto3ModelManager- create(model: ElastiCacheUserGroup) ElastiCacheUserGroup[source]
For Valkey engine version 7.2 onwards and Redis OSS 6.0 to 7.1: Creates a user group. For more information, see Using Role Based Access Control (RBAC)
- Parameters:
model – The
UserGroupto create.
- delete(UserGroupId: str) ElastiCacheUserGroup[source]
For Valkey engine version 7.2 onwards and Redis OSS 6.0 onwards: Deletes a user group. The user group must first be disassociated from the replication group before it can be deleted. For more information, see Using Role Based Access Control (RBAC).
- Parameters:
UserGroupId – The ID of the user group.
- get(UserGroupId: str) ElastiCacheUserGroup | None[source]
Returns a list of user groups.
- Parameters:
UserGroupId – The ID of the user group.
- list(*, UserGroupId: str | None = None) PrimaryBoto3ModelQuerySet[source]
Returns a list of user groups.
- Keyword Arguments:
UserGroupId – The ID of the user group.
- update(model: ElastiCacheUserGroup, UserIdsToAdd: list[str] | None = None, UserIdsToRemove: list[str] | None = None) ElastiCacheUserGroup[source]
Changes the list of users that belong to the user group.
- Parameters:
model – The
UserGroupto update.- Keyword Arguments:
UserIdsToAdd – The list of user IDs to add to the user group.
UserIdsToRemove – The list of user IDs to remove from the user group.
- class botocraft.services.elasticache.ElastiCacheUserManager[source]
Bases:
Boto3ModelManager- create(model: ElastiCacheUser, Passwords: list[str] | None = None, NoPasswordRequired: bool | None = None, AuthenticationMode: AuthenticationMode | None = None) ElastiCacheUser[source]
For Valkey engine version 7.2 onwards and Redis OSS 6.0 to 7.1: Creates a user. For more information, see Using Role Based Access Control (RBAC).
- Parameters:
model – The
Userto create.- Keyword Arguments:
Passwords – Passwords used for this user. You can create up to two passwords for each user.
NoPasswordRequired – Indicates a password is not required for this user.
AuthenticationMode – Specifies how to authenticate the user.
- delete(UserId: str) ElastiCacheUser[source]
For Valkey engine version 7.2 onwards and Redis OSS 6.0 onwards: Deletes a user. The user will be removed from all user groups and in turn removed from all replication groups. For more information, see Using Role Based Access Control (RBAC).
- Parameters:
UserId – The ID of the user.
- get(UserId: str, *, Engine: str | None = None) ElastiCacheUser | None[source]
Returns a list of users.
- Parameters:
UserId – The ID of the user.
- Keyword Arguments:
Engine – The engine.
- list(*, Engine: str | None = None, UserId: str | None = None, Filters: list[botocraft.services.common.Filter] | None = None) PrimaryBoto3ModelQuerySet[source]
Returns a list of users.
- Keyword Arguments:
Engine – The engine.
UserId – The ID of the user.
Filters – Filter to determine the list of User IDs to return.
- update(model: ElastiCacheUser, AppendAccessString: str | None = None, Passwords: list[str] | None = None, NoPasswordRequired: bool | None = None, AuthenticationMode: AuthenticationMode | None = None) ElastiCacheUser[source]
Changes user password(s) and/or access string.
- Parameters:
model – The
Userto update.- Keyword Arguments:
AppendAccessString – Adds additional user permissions to the access string.
Passwords – The passwords belonging to the user. You are allowed up to two.
NoPasswordRequired – Indicates no password is required for the user.
AuthenticationMode – Specifies how to authenticate the user.
- class botocraft.services.elasticache.ReplicationGroupManager[source]
Bases:
ElastiCacheManagerTagsMixin,Boto3ModelManager- create(model: ReplicationGroup, ReplicationGroupDescription: str, GlobalReplicationGroupId: str | None = None, PrimaryClusterId: str | None = None, AutomaticFailoverEnabled: bool | None = None, MultiAZEnabled: bool | None = None, NumCacheClusters: int | None = None, PreferredCacheClusterAZs: list[str] | None = None, NumNodeGroups: int | None = None, ReplicasPerNodeGroup: int | None = None, NodeGroupConfiguration: list[botocraft.services.elasticache.NodeGroupConfiguration] | None = None, EngineVersion: str | None = None, CacheParameterGroupName: str | None = None, CacheSubnetGroupName: str | None = None, CacheSecurityGroupNames: list[str] | None = None, SecurityGroupIds: list[str] | None = None, Tags: list[botocraft.services.common.Tag] | None = None, SnapshotArns: list[str] | None = None, SnapshotName: str | None = None, PreferredMaintenanceWindow: str | None = None, Port: int | None = None, NotificationTopicArn: str | None = None, AuthToken: str | None = None, DataTieringEnabled: bool | None = None, ServerlessCacheSnapshotName: str | None = None) ReplicationGroup[source]
Creates a Valkey or Redis OSS (cluster mode disabled) or a Valkey or Redis OSS (cluster mode enabled) replication group.
- Parameters:
model – The
ReplicationGroupto create.ReplicationGroupDescription – A user-created description for the replication group.
- Keyword Arguments:
GlobalReplicationGroupId – The name of the Global datastore
PrimaryClusterId – The identifier of the cluster that serves as the primary for this replication group. This cluster must already exist and have a status of
available.AutomaticFailoverEnabled – Specifies whether a read-only replica is automatically promoted to read/write primary if the existing primary fails.
MultiAZEnabled –
A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. For more information, see Minimizing Downtime: Multi-AZ.
NumCacheClusters – The number of clusters this replication group initially has.
PreferredCacheClusterAZs – A list of EC2 Availability Zones in which the replication group’s clusters are created. The order of the Availability Zones in the list is the order in which clusters are allocated. The primary cluster is created in the first AZ in the list.
NumNodeGroups – An optional parameter that specifies the number of node groups (shards) for this Valkey or Redis OSS (cluster mode enabled) replication group. For Valkey or Redis OSS (cluster mode disabled) either omit this parameter or set it to 1.
ReplicasPerNodeGroup – An optional parameter that specifies the number of replica nodes in each node group (shard). Valid values are 0 to 5.
NodeGroupConfiguration – A list of node group (shard) configuration options. Each node group (shard) configuration has the following members:
PrimaryAvailabilityZone,ReplicaAvailabilityZones,ReplicaCount, andSlots.EngineVersion – The version number of the cache engine to be used for the clusters in this replication group. To view the supported cache engine versions, use the
DescribeCacheEngineVersionsoperation.CacheParameterGroupName – The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used.
CacheSubnetGroupName – The name of the cache subnet group to be used for the replication group.
CacheSecurityGroupNames – A list of cache security group names to associate with this replication group.
SecurityGroupIds – One or more Amazon VPC security groups associated with this replication group.
Tags – A list of tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=``myKey``, Value=``myKeyValue``. You can include multiple tags as shown following: Key=``myKey``, Value=``myKeyValue`` Key=``mySecondKey``, Value=``mySecondKeyValue``. Tags on replication groups will be replicated to all nodes.
SnapshotArns – A list of Amazon Resource Names (ARN) that uniquely identify the Valkey or Redis OSS RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new replication group. The Amazon S3 object name in the ARN cannot contain any commas. The new replication group will have the number of node groups (console: shards) specified by the parameter NumNodeGroups or the number of node groups configured by NodeGroupConfiguration regardless of the number of ARNs specified here.
SnapshotName – The name of a snapshot from which to restore data into the new replication group. The snapshot status changes to
restoringwhile the new replication group is being created.PreferredMaintenanceWindow – Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.
Port – The port number on which each member of the replication group accepts connections.
NotificationTopicArn – The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.
AuthToken – Reserved parameter. The password used to access a password protected server.
DataTieringEnabled –
Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes. For more information, see Data tiering.
ServerlessCacheSnapshotName – The name of the snapshot used to create a replication group. Available for Valkey, Redis OSS only.
- delete(ReplicationGroupId: str, *, RetainPrimaryCluster: bool | None = None, FinalSnapshotIdentifier: str = 'None') ReplicationGroup[source]
Deletes an existing replication group. By default, this operation deletes the entire replication group, including the primary/primaries and all of the read replicas. If the replication group has only one primary, you can optionally delete only the read replicas, while retaining the primary by setting
RetainPrimaryCluster=true.- Parameters:
ReplicationGroupId – The identifier for the cluster to be deleted. This parameter is not case sensitive.
- Keyword Arguments:
RetainPrimaryCluster – If set to
true, all of the read replicas are deleted, but the primary node is retained.FinalSnapshotIdentifier – The name of a final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster, rather than one of the replicas; this is to ensure that it captures the freshest data. After the final snapshot is taken, the replication group is immediately deleted.
- get(ReplicationGroupId: str) ReplicationGroup | None[source]
Returns information about a particular replication group. If no identifier is specified,
DescribeReplicationGroupsreturns information about all replication groups.- Parameters:
ReplicationGroupId – The identifier for the replication group to be described. This parameter is not case sensitive.
- list(*, ReplicationGroupId: str | None = None) PrimaryBoto3ModelQuerySet[source]
Returns information about a particular replication group. If no identifier is specified,
DescribeReplicationGroupsreturns information about all replication groups.- Keyword Arguments:
ReplicationGroupId – The identifier for the replication group to be described. This parameter is not case sensitive.
- update(model: ReplicationGroup, ReplicationGroupDescription: str | None = None, PrimaryClusterId: str | None = None, AutomaticFailoverEnabled: bool | None = None, MultiAZEnabled: bool | None = None, NodeGroupId: str | None = None, CacheSecurityGroupNames: list[str] | None = None, SecurityGroupIds: list[str] | None = None, PreferredMaintenanceWindow: str | None = None, NotificationTopicArn: str | None = None, CacheParameterGroupName: str | None = None, NotificationTopicStatus: str | None = None, ApplyImmediately: bool | None = None, EngineVersion: str | None = None, AuthToken: str | None = None, AuthTokenUpdateStrategy: Literal['SET', 'ROTATE', 'DELETE'] | None = None, UserGroupIdsToAdd: list[str] | None = None, UserGroupIdsToRemove: list[str] | None = None, RemoveUserGroups: bool | None = None) ReplicationGroup[source]
Modifies the settings for a replication group. This is limited to Valkey and Redis OSS 7 and above.
- Parameters:
model – The
ReplicationGroupto update.- Keyword Arguments:
ReplicationGroupDescription – A description for the replication group. Maximum length is 255 characters.
PrimaryClusterId – For replication groups with a single primary, if this parameter is specified, ElastiCache promotes the specified cluster in the specified replication group to the primary role. The nodes of all other clusters in the replication group are read replicas.
AutomaticFailoverEnabled – Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.
MultiAZEnabled – A flag to indicate MultiAZ is enabled.
NodeGroupId – Deprecated. This parameter is not used.
CacheSecurityGroupNames – A list of cache security group names to authorize for the clusters in this replication group. This change is asynchronously applied as soon as possible.
SecurityGroupIds – Specifies the VPC Security Groups associated with the clusters in the replication group.
PreferredMaintenanceWindow – Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.
NotificationTopicArn – The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications are sent.
CacheParameterGroupName – The name of the cache parameter group to apply to all of the clusters in this replication group. This change is asynchronously applied as soon as possible for parameters when the
ApplyImmediatelyparameter is specified astruefor this request.NotificationTopicStatus – The status of the Amazon SNS notification topic for the replication group. Notifications are sent only if the status is
active.ApplyImmediately – If
true, this parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible, regardless of thePreferredMaintenanceWindowsetting for the replication group.EngineVersion – The upgraded version of the cache engine to be run on the clusters in the replication group.
AuthToken – Reserved parameter. The password used to access a password protected server. This parameter must be specified with the
auth-token-update-strategyparameter. Password constraints:AuthTokenUpdateStrategy – Specifies the strategy to use to update the AUTH token. This parameter must be specified with the
auth-tokenparameter. Possible values:UserGroupIdsToAdd – The ID of the user group you are associating with the replication group.
UserGroupIdsToRemove – The ID of the user group to disassociate from the replication group, meaning the users in the group no longer can access the replication group.
RemoveUserGroups – Removes the user group associated with this replication group.
Secondary Models
Secondary models are models that are used by the primary models to organize their data. They are not acted on directly, but are used to describe the structure of the fields in the primary models or other secondary models.
- pydantic model botocraft.services.elasticache.CacheNode[source]
Bases:
Boto3ModelRepresents an individual cache node within a cluster. Each cache node runs its own instance of the cluster’s protocol- compliant caching software - either Memcached, Valkey or Redis OSS.
The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.
General purpose:
Current generation:
- M7g node types:
cache.m7g.large,cache.m7g.xlarge,cache.m7g.2xlarge,cache.m7g.4xlarge, cache.m7g.8xlarge,cache.m7g.12xlarge,cache.m7g.16xlarge
For region availability, see Supported Node Types
- M6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16
onward):
cache.m6g.large,cache.m6g.xlarge,cache.m6g.2xlarge,cache.m6g.4xlarge,cache.m6g.8xlarge,cache.m6g.12xlarge,cache.m6g.16xlarge- M5 node types:
cache.m5.large,cache.m5.xlarge,cache.m5.2xlarge,cache.m5.4xlarge, cache.m5.12xlarge,cache.m5.24xlarge- M4 node types:
cache.m4.large,cache.m4.xlarge,cache.m4.2xlarge,cache.m4.4xlarge, cache.m4.10xlarge- T4g node types (available only for Redis OSS engine version 5.0.6 onward and Memcached engine version 1.5.16
onward):
cache.t4g.micro,cache.t4g.small,cache.t4g.medium
T3 node types:
cache.t3.micro,cache.t3.small,cache.t3.mediumT2 node types:
cache.t2.micro,cache.t2.small,cache.t2.medium+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not supported for these types.)T1 node types:
cache.t1.microM1 node types:
cache.m1.small,cache.m1.medium,cache.m1.large,cache.m1.xlargeM3 node types:
cache.m3.medium,cache.m3.large,cache.m3.xlarge,cache.m3.2xlarge* Compute optimized:Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not
supported for these types.)
C1 node types:
cache.c1.xlarge* Memory optimized:Current generation:
- R7g node types:
cache.r7g.large,cache.r7g.xlarge,cache.r7g.2xlarge,cache.r7g.4xlarge, cache.r7g.8xlarge,cache.r7g.12xlarge,cache.r7g.16xlarge
For region availability, see Supported Node Types
- R6g node types (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16
onward):
cache.r6g.large,cache.r6g.xlarge,cache.r6g.2xlarge,cache.r6g.4xlarge,cache.r6g.8xlarge,cache.r6g.12xlarge,cache.r6g.16xlarge- R5 node types:
cache.r5.large,cache.r5.xlarge,cache.r5.2xlarge,cache.r5.4xlarge, cache.r5.12xlarge,cache.r5.24xlarge- R4 node types:
cache.r4.large,cache.r4.xlarge,cache.r4.2xlarge,cache.r4.4xlarge, cache.r4.8xlarge,cache.r4.16xlarge
Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not
supported for these types.)
M2 node types:
cache.m2.xlarge,cache.m2.2xlarge,cache.m2.4xlarge- R3 node types:
cache.r3.large,cache.r3.xlarge,cache.r3.2xlarge,cache.r3.4xlarge, cache.r3.8xlarge
Additional node type info
All current generation instance types are created in Amazon VPC by default.
Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.
Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.
The configuration variables
appendonlyandappendfsyncare not supported on Valkey, or on Redis OSS version 2.8.22 and later.
Show JSON schema
{ "title": "CacheNode", "description": "Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-\ncompliant caching software - either Memcached, Valkey or Redis OSS.\n\nThe following node types are supported by ElastiCache. Generally speaking, the current generation types provide more\nmemory and computational power at lower cost when compared to their equivalent previous generation counterparts.\n\n* General purpose:\n\n+ Current generation:\n\n**M7g node types**: ``cache.m7g.large``, ``cache.m7g.xlarge``, ``cache.m7g.2xlarge``, ``cache.m7g.4xlarge``,\n ``cache.m7g.8xlarge``, ``cache.m7g.12xlarge``, ``cache.m7g.16xlarge``\n\nFor region availability, see `Supported Node Types <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.S\nupportedTypes.html#CacheNodes.SupportedTypesByRegion>`_\n\n**M6g node types** (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16\n onward): ``cache.m6g.large``, ``cache.m6g.xlarge``, ``cache.m6g.2xlarge``, ``cache.m6g.4xlarge``, ``cache.m6g.8xlarge``,\n ``cache.m6g.12xlarge``, ``cache.m6g.16xlarge``\n\n**M5 node types:** ``cache.m5.large``, ``cache.m5.xlarge``, ``cache.m5.2xlarge``, ``cache.m5.4xlarge``,\n ``cache.m5.12xlarge``, ``cache.m5.24xlarge``\n\n**M4 node types:** ``cache.m4.large``, ``cache.m4.xlarge``, ``cache.m4.2xlarge``, ``cache.m4.4xlarge``,\n ``cache.m4.10xlarge``\n\n**T4g node types** (available only for Redis OSS engine version 5.0.6 onward and Memcached engine version 1.5.16\n onward): ``cache.t4g.micro``, ``cache.t4g.small``, ``cache.t4g.medium``\n\n**T3 node types:** ``cache.t3.micro``, ``cache.t3.small``, ``cache.t3.medium``\n\n**T2 node types:** ``cache.t2.micro``, ``cache.t2.small``, ``cache.t2.medium``\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**T1 node types:** ``cache.t1.micro``\n\n**M1 node types:** ``cache.m1.small``, ``cache.m1.medium``, ``cache.m1.large``, ``cache.m1.xlarge``\n\n**M3 node types:** ``cache.m3.medium``, ``cache.m3.large``, ``cache.m3.xlarge``, ``cache.m3.2xlarge``\n* Compute optimized:\n\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**C1 node types:** ``cache.c1.xlarge``\n* Memory optimized:\n\n+ Current generation:\n\n**R7g node types**: ``cache.r7g.large``, ``cache.r7g.xlarge``, ``cache.r7g.2xlarge``, ``cache.r7g.4xlarge``,\n ``cache.r7g.8xlarge``, ``cache.r7g.12xlarge``, ``cache.r7g.16xlarge``\n\nFor region availability, see `Supported Node Types <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.S\nupportedTypes.html#CacheNodes.SupportedTypesByRegion>`_\n\n**R6g node types** (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16\n onward): ``cache.r6g.large``, ``cache.r6g.xlarge``, ``cache.r6g.2xlarge``, ``cache.r6g.4xlarge``, ``cache.r6g.8xlarge``,\n ``cache.r6g.12xlarge``, ``cache.r6g.16xlarge``\n\n**R5 node types:** ``cache.r5.large``, ``cache.r5.xlarge``, ``cache.r5.2xlarge``, ``cache.r5.4xlarge``,\n ``cache.r5.12xlarge``, ``cache.r5.24xlarge``\n\n**R4 node types:** ``cache.r4.large``, ``cache.r4.xlarge``, ``cache.r4.2xlarge``, ``cache.r4.4xlarge``,\n ``cache.r4.8xlarge``, ``cache.r4.16xlarge``\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**M2 node types:** ``cache.m2.xlarge``, ``cache.m2.2xlarge``, ``cache.m2.4xlarge``\n\n**R3 node types:** ``cache.r3.large``, ``cache.r3.xlarge``, ``cache.r3.2xlarge``, ``cache.r3.4xlarge``,\n ``cache.r3.8xlarge``\n\n**Additional node type info**\n\n* All current generation instance types are created in Amazon VPC by default.\n* Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.\n* Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.\n* The configuration variables ``appendonly`` and ``appendfsync`` are not supported on Valkey, or on Redis OSS version\n 2.8.22 and later.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "CacheNodeStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodestatus" }, "CacheNodeCreateTime": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodecreatetime" }, "Endpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "ParameterGroupStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametergroupstatus" }, "SourceCacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Sourcecachenodeid" }, "CustomerAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Customeravailabilityzone" }, "CustomerOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Customeroutpostarn" } }, "$defs": { "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field CacheNodeCreateTime: datetime | None = None
The date and time when the cache node was created.
- field CacheNodeId: str | None = None
The cache node identifier.
A node ID is a numeric identifier (0001, 0002, etc.). The combination of cluster ID and node ID uniquely identifies every cache node used in a customer’s Amazon account.
- field CacheNodeStatus: str | None = None
The current state of this cache node, one of the following values:
available,creating,rebooting, ordeleting.
- field CustomerAvailabilityZone: str | None = None
The Availability Zone where this node was created and now resides.
- field Endpoint: ElastiCacheEndpoint | None = None
The hostname for connecting to this cache node.
- field ParameterGroupStatus: str | None = None
The status of the parameter group applied to this cache node.
- field SourceCacheNodeId: str | None = None
The ID of the primary node to which this read replica node is synchronized.
If this field is empty, this node is not associated with a primary cluster.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CacheParameterGroupStatus[source]
Bases:
Boto3ModelStatus of the cache parameter group.
Show JSON schema
{ "title": "CacheParameterGroupStatus", "description": "Status of the cache parameter group.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheParameterGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupname" }, "ParameterApplyStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parameterapplystatus" }, "CacheNodeIdsToReboot": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodeidstoreboot" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field CacheNodeIdsToReboot: builtins.list[str] | None [Optional]
A list of the cache node IDs which need to be rebooted for parameter changes to be applied.
A node ID is a numeric identifier (0001, 0002, etc.).
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CacheSecurityGroupMembership[source]
Bases:
Boto3ModelRepresents a cluster’s status within a particular cache security group.
Show JSON schema
{ "title": "CacheSecurityGroupMembership", "description": "Represents a cluster's status within a particular cache security group.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesecuritygroupname" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field Status: str | None = None
The membership status in the cache security group.
The status changes when a cache security group is modified, or when the cache security groups assigned to a cluster are modified.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CloudWatchLogsDestinationDetails[source]
Bases:
Boto3ModelThe configuration details of the CloudWatch Logs destination.
Show JSON schema
{ "title": "CloudWatchLogsDestinationDetails", "description": "The configuration details of the CloudWatch Logs destination.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.EC2SecurityGroup[source]
Bases:
Boto3ModelProvides ownership and status information for an Amazon EC2 security group.
Show JSON schema
{ "title": "EC2SecurityGroup", "description": "Provides ownership and status information for an Amazon EC2 security group.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "EC2SecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Securitygroupname" }, "EC2SecurityGroupOwnerId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Securitygroupownerid" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field EC2SecurityGroupOwnerId: str | None = None
The Amazon account ID of the Amazon EC2 security group owner.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ElastiCacheAuthentication[source]
Bases:
Boto3ModelIndicates whether the user requires a password to authenticate.
Show JSON schema
{ "title": "ElastiCacheAuthentication", "description": "Indicates whether the user requires a password to authenticate.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Type": { "anyOf": [ { "enum": [ "password", "no-password", "iam" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Type" }, "PasswordCount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Passwordcount" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field PasswordCount: int | None = None
The number of passwords belonging to the user.
The maximum is two.
- field Type: Literal['password', 'no-password', 'iam'] | None = None
Indicates whether the user requires a password to authenticate.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ElastiCacheDestinationDetails[source]
Bases:
Boto3ModelConfiguration details of either a CloudWatch Logs destination or Kinesis Data Firehose destination.
Show JSON schema
{ "title": "ElastiCacheDestinationDetails", "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "$defs": { "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field CloudWatchLogsDetails: CloudWatchLogsDestinationDetails | None = None
The configuration details of the CloudWatch Logs destination.
- field KinesisFirehoseDetails: KinesisFirehoseDestinationDetails | None = None
The configuration details of the Kinesis Data Firehose destination.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ElastiCacheEndpoint[source]
Bases:
Boto3ModelRepresents the information required for client programs to connect to a cache node.
This value is read-only.
Show JSON schema
{ "title": "ElastiCacheEndpoint", "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ElastiCacheGlobalReplicationGroupInfo[source]
Bases:
Boto3ModelThe name of the Global datastore and role of this replication group in the Global datastore.
Show JSON schema
{ "title": "ElastiCacheGlobalReplicationGroupInfo", "description": "The name of the Global datastore and role of this replication group in the Global\ndatastore.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "GlobalReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Globalreplicationgroupid" }, "GlobalReplicationGroupMemberRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Globalreplicationgroupmemberrole" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field GlobalReplicationGroupMemberRole: str | None = None
The role of the replication group in a Global datastore.
Can be primary or secondary.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ElastiCacheNotificationConfiguration[source]
Bases:
Boto3ModelDescribes a notification topic and its status.
Notification topics are used for publishing ElastiCache events to subscribers using Amazon Simple Notification Service (SNS).
Show JSON schema
{ "title": "ElastiCacheNotificationConfiguration", "description": "Describes a notification topic and its status.\n\nNotification topics are used for publishing ElastiCache events to subscribers using\nAmazon Simple Notification Service (SNS).", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "TopicArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Topicarn" }, "TopicStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Topicstatus" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ElastiCachePendingModifiedValues[source]
Bases:
Boto3ModelA group of settings that are applied to the cluster in the future, or that are currently being applied.
Show JSON schema
{ "title": "ElastiCachePendingModifiedValues", "description": "A group of settings that are applied to the cluster in the future, or that are\ncurrently being applied.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NumCacheNodes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Numcachenodes" }, "CacheNodeIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodeidstoremove" }, "EngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engineversion" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "AuthTokenStatus": { "anyOf": [ { "enum": [ "SETTING", "ROTATING" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Authtokenstatus" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/PendingLogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ScaleConfig": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheScaleConfig" }, { "type": "null" } ], "default": null } }, "$defs": { "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "ElastiCacheScaleConfig": { "description": "Configuration settings for horizontal or vertical scaling operations on Memcached\nclusters.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ScalePercentage": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scalepercentage" }, "ScaleIntervalMinutes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scaleintervalminutes" } }, "title": "ElastiCacheScaleConfig", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" }, "PendingLogDeliveryConfiguration": { "description": "The log delivery configurations being modified.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "title": "PendingLogDeliveryConfiguration", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field CacheNodeIdsToRemove: builtins.list[str] | None [Optional]
A list of cache node IDs that are being removed (or will be removed) from the cluster.
A node ID is a 4-digit numeric identifier (0001, 0002, etc.).
- field CacheNodeType: str | None = None
The cache node type that this cluster or replication group is scaled to.
- field LogDeliveryConfigurations: builtins.list[PendingLogDeliveryConfiguration] | None [Optional]
The log delivery configurations being modified.
- field ScaleConfig: ElastiCacheScaleConfig | None = None
The scaling configuration changes that are pending for the Memcached cluster.
- field TransitEncryptionEnabled: bool | None = None
A flag that enables in-transit encryption when set to true.
- field TransitEncryptionMode: Literal['preferred', 'required'] | None = None
A setting that allows you to migrate your clients to use in-transit encryption, with no downtime.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ElastiCacheScaleConfig[source]
Bases:
Boto3ModelConfiguration settings for horizontal or vertical scaling operations on Memcached clusters.
Show JSON schema
{ "title": "ElastiCacheScaleConfig", "description": "Configuration settings for horizontal or vertical scaling operations on Memcached\nclusters.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ScalePercentage": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scalepercentage" }, "ScaleIntervalMinutes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scaleintervalminutes" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ScaleIntervalMinutes: int | None = None
The time interval in seconds between scaling operations when performing gradual scaling for a Memcached cluster.
- field ScalePercentage: int | None = None
The percentage by which to scale the Memcached cluster, either horizontally by adding nodes or vertically by increasing resources.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ElastiCacheSlotMigration[source]
Bases:
Boto3ModelRepresents the progress of an online resharding operation.
Show JSON schema
{ "title": "ElastiCacheSlotMigration", "description": "Represents the progress of an online resharding operation.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ProgressPercentage": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Progresspercentage" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ProgressPercentage: float | None = None
The percentage of the slot migration that is complete.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.KinesisFirehoseDestinationDetails[source]
Bases:
Boto3ModelThe configuration details of the Kinesis Data Firehose destination.
Show JSON schema
{ "title": "KinesisFirehoseDestinationDetails", "description": "The configuration details of the Kinesis Data Firehose destination.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.LogDeliveryConfiguration[source]
Bases:
Boto3ModelReturns the destination, format and type of the logs.
Show JSON schema
{ "title": "LogDeliveryConfiguration", "description": "Returns the destination, format and type of the logs.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" }, "Status": { "anyOf": [ { "enum": [ "active", "enabling", "modifying", "disabling", "error" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "Message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Message" } }, "$defs": { "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field DestinationDetails: ElastiCacheDestinationDetails | None = None
Configuration details of either a CloudWatch Logs destination or Kinesis Data Firehose destination.
- field DestinationType: Literal['cloudwatch-logs', 'kinesis-firehose'] | None = None
Returns the destination type, either
cloudwatch-logsorkinesis-firehose.
- field LogFormat: Literal['text', 'json'] | None = None
Returns the log format, either JSON or TEXT.
- field Status: Literal['active', 'enabling', 'modifying', 'disabling', 'error'] | None = None
Returns the log delivery configuration status.
Values are one of
enabling|disabling|modifying|active|error
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.NodeGroup[source]
Bases:
Boto3ModelRepresents a collection of cache nodes in a replication group.
One node in the node group is the read/write primary node. All the other nodes are read-only Replica nodes.
Show JSON schema
{ "title": "NodeGroup", "description": "Represents a collection of cache nodes in a replication group.\n\nOne node in the node group is the read/write primary node. All the other nodes are\nread-only Replica nodes.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NodeGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Nodegroupid" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "PrimaryEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "ReaderEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "Slots": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Slots" }, "NodeGroupMembers": { "anyOf": [ { "items": { "$ref": "#/$defs/NodeGroupMember" }, "type": "array" }, { "type": "null" } ], "title": "Nodegroupmembers" } }, "$defs": { "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" }, "NodeGroupMember": { "description": "Represents a single node within a node group (shard).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheclusterid" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "ReadEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "PreferredAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredavailabilityzone" }, "PreferredOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredoutpostarn" }, "CurrentRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Currentrole" } }, "title": "NodeGroupMember", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field NodeGroupId: str | None = None
The identifier for the node group (shard).
A Valkey or Redis OSS (cluster mode disabled) replication group contains only 1 node group; therefore, the node group ID is 0001. A Valkey or Redis OSS (cluster mode enabled) replication group contains 1 to 90 node groups numbered 0001 to 0090. Optionally, the user can provide the id for a node group.
- field NodeGroupMembers: builtins.list[NodeGroupMember] | None [Optional]
A list containing information about individual nodes within the node group (shard).
- field PrimaryEndpoint: ElastiCacheEndpoint | None = None
The endpoint of the primary node in this node group (shard).
- field ReaderEndpoint: ElastiCacheEndpoint | None = None
The endpoint of the replica nodes in this node group (shard).
This value is read-only.
- field Status: str | None = None
The current state of this replication group -
creating,available,modifying,deleting.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.NodeGroupMember[source]
Bases:
Boto3ModelRepresents a single node within a node group (shard).
Show JSON schema
{ "title": "NodeGroupMember", "description": "Represents a single node within a node group (shard).", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheclusterid" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "ReadEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "PreferredAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredavailabilityzone" }, "PreferredOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredoutpostarn" }, "CurrentRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Currentrole" } }, "$defs": { "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field CacheNodeId: str | None = None
The ID of the node within its cluster.
A node ID is a numeric identifier (0001, 0002, etc.).
- field CurrentRole: str | None = None
The role that is currently assigned to the node -
primaryorreplica. This member is only applicable for Valkey or Redis OSS (cluster mode disabled) replication groups.
- field PreferredAvailabilityZone: str | None = None
The name of the Availability Zone in which the node is located.
- field ReadEndpoint: ElastiCacheEndpoint | None = None
The information required for client programs to connect to a node for read operations.
The read endpoint is only applicable on Valkey or Redis OSS (cluster mode disabled) clusters.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ParameterNameValue[source]
Bases:
Boto3ModelDescribes a name-value pair that is used to update the value of a parameter.
Show JSON schema
{ "title": "ParameterNameValue", "description": "Describes a name-value pair that is used to update the value of a parameter.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ParameterName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametername" }, "ParameterValue": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametervalue" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.PendingLogDeliveryConfiguration[source]
Bases:
Boto3ModelThe log delivery configurations being modified.
Show JSON schema
{ "title": "PendingLogDeliveryConfiguration", "description": "The log delivery configurations being modified.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "$defs": { "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field DestinationDetails: ElastiCacheDestinationDetails | None = None
Configuration details of either a CloudWatch Logs destination or Kinesis Data Firehose destination.
- field DestinationType: Literal['cloudwatch-logs', 'kinesis-firehose'] | None = None
Returns the destination type, either CloudWatch Logs or Kinesis Data Firehose.
- field LogFormat: Literal['text', 'json'] | None = None
Returns the log format, either JSON or TEXT.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ReplicationGroupPendingModifiedValues[source]
Bases:
Boto3ModelThe settings to be applied to the Valkey or Redis OSS replication group, either immediately or during the next maintenance window.
Show JSON schema
{ "title": "ReplicationGroupPendingModifiedValues", "description": "The settings to be applied to the Valkey or Redis OSS replication group, either\nimmediately or during the next maintenance window.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "PrimaryClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Primaryclusterid" }, "AutomaticFailoverStatus": { "anyOf": [ { "enum": [ "enabled", "disabled" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Automaticfailoverstatus" }, "Resharding": { "anyOf": [ { "$ref": "#/$defs/ReshardingStatus" }, { "type": "null" } ], "default": null }, "AuthTokenStatus": { "anyOf": [ { "enum": [ "SETTING", "ROTATING" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Authtokenstatus" }, "UserGroups": { "anyOf": [ { "$ref": "#/$defs/UserGroupsUpdateStatus" }, { "type": "null" } ], "default": null }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/PendingLogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ClusterMode": { "anyOf": [ { "enum": [ "enabled", "disabled", "compatible" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Clustermode" } }, "$defs": { "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "ElastiCacheSlotMigration": { "description": "Represents the progress of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ProgressPercentage": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Progresspercentage" } }, "title": "ElastiCacheSlotMigration", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" }, "PendingLogDeliveryConfiguration": { "description": "The log delivery configurations being modified.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "title": "PendingLogDeliveryConfiguration", "type": "object" }, "ReshardingStatus": { "description": "The status of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SlotMigration": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheSlotMigration" }, { "type": "null" } ], "default": null } }, "title": "ReshardingStatus", "type": "object" }, "UserGroupsUpdateStatus": { "description": "The status of the user group update.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "UserGroupIdsToAdd": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoadd" }, "UserGroupIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoremove" } }, "title": "UserGroupsUpdateStatus", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
AutomaticFailoverStatus (Literal['enabled', 'disabled'] | None)ClusterMode (Literal['enabled', 'disabled', 'compatible'] | None)Resharding (botocraft.services.elasticache.ReshardingStatus | None)TransitEncryptionMode (Literal['preferred', 'required'] | None)UserGroups (botocraft.services.elasticache.UserGroupsUpdateStatus | None)
- field AutomaticFailoverStatus: Literal['enabled', 'disabled'] | None = None
Indicates the status of automatic failover for this Valkey or Redis OSS replication group.
- field ClusterMode: Literal['enabled', 'disabled', 'compatible'] | None = None
Enabled or Disabled.
To modify cluster mode from Disabled to Enabled, you must first set the cluster mode to Compatible. Compatible mode allows your Valkey or Redis OSS clients to connect using both cluster mode enabled and cluster mode disabled. After you migrate all Valkey or Redis OSS clients to use cluster mode enabled, you can then complete cluster mode configuration and set the cluster mode to Enabled.
- field LogDeliveryConfigurations: builtins.list[PendingLogDeliveryConfiguration] | None [Optional]
The log delivery configurations being modified.
- field PrimaryClusterId: str | None = None
The primary cluster ID that is applied immediately (if
--apply-immediatelywas specified), or during the next maintenance window.
- field Resharding: ReshardingStatus | None = None
The status of an online resharding operation.
- field TransitEncryptionEnabled: bool | None = None
A flag that enables in-transit encryption when set to true.
- field TransitEncryptionMode: Literal['preferred', 'required'] | None = None
A setting that allows you to migrate your clients to use in-transit encryption, with no downtime.
- field UserGroups: UserGroupsUpdateStatus | None = None
The user group being modified.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ReshardingStatus[source]
Bases:
Boto3ModelThe status of an online resharding operation.
Show JSON schema
{ "title": "ReshardingStatus", "description": "The status of an online resharding operation.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SlotMigration": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheSlotMigration" }, { "type": "null" } ], "default": null } }, "$defs": { "ElastiCacheSlotMigration": { "description": "Represents the progress of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ProgressPercentage": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Progresspercentage" } }, "title": "ElastiCacheSlotMigration", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field SlotMigration: ElastiCacheSlotMigration | None = None
Represents the progress of an online resharding operation.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.SecurityGroupMembership[source]
Bases:
Boto3ModelRepresents a single cache security group and its status.
Show JSON schema
{ "title": "SecurityGroupMembership", "description": "Represents a single cache security group and its status.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SecurityGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Securitygroupid" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field Status: str | None = None
The status of the cache security group membership.
The status changes whenever a cache security group is modified, or when the cache security groups assigned to a cluster are modified.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.UserGroupPendingChanges[source]
Bases:
Boto3ModelReturns the updates being applied to the user group.
Show JSON schema
{ "title": "UserGroupPendingChanges", "description": "Returns the updates being applied to the user group.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "UserIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Useridstoremove" }, "UserIdsToAdd": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Useridstoadd" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.UserGroupsUpdateStatus[source]
Bases:
Boto3ModelThe status of the user group update.
Show JSON schema
{ "title": "UserGroupsUpdateStatus", "description": "The status of the user group update.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "UserGroupIdsToAdd": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoadd" }, "UserGroupIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoremove" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field UserGroupIdsToRemove: builtins.list[str] | None [Optional]
The ID of the user group to remove.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
Request/Response Models
Request/response models are models that are used to describe the structure of the data that is sent to and received from the AWS service. They are used by the managers to send requests to the service and to parse the responses that are received.
You will not often use them directly – typically they are used by the managers internally to send requests and parse responses – but they are included here for completeness, and because occasionally we return them directly to you because they have some useful additional information.
- pydantic model botocraft.services.elasticache.AuthenticationMode[source]
Bases:
Boto3ModelSpecifies the authentication mode to use.
Show JSON schema
{ "title": "AuthenticationMode", "description": "Specifies the authentication mode to use.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Type": { "anyOf": [ { "enum": [ "password", "no-password-required", "iam" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Type" }, "Passwords": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Passwords" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field Passwords: builtins.list[str] | None [Optional]
Specifies the passwords to use for authentication if
Typeis set topassword.
- field Type: Literal['password', 'no-password-required', 'iam'] | None = None
Specifies the authentication type.
Possible options are IAM authentication, password and no password.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.AuthorizeCacheSecurityGroupIngressResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "AuthorizeCacheSecurityGroupIngressResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroup": { "$ref": "#/$defs/CacheSecurityGroup", "default": null } }, "$defs": { "CacheSecurityGroup": { "description": "Represents the output of one of the following operations:\n\n* ``AuthorizeCacheSecurityGroupIngress``\n* ``CreateCacheSecurityGroup``\n* ``RevokeCacheSecurityGroupIngress``", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "OwnerId": { "default": null, "title": "Ownerid", "type": "string" }, "CacheSecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesecuritygroupname" }, "Description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "EC2SecurityGroups": { "items": { "$ref": "#/$defs/EC2SecurityGroup" }, "title": "Ec2Securitygroups", "type": "array" }, "ARN": { "default": null, "title": "Arn", "type": "string" } }, "title": "CacheSecurityGroup", "type": "object" }, "EC2SecurityGroup": { "description": "Provides ownership and status information for an Amazon EC2 security group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "EC2SecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Securitygroupname" }, "EC2SecurityGroupOwnerId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Securitygroupownerid" } }, "title": "EC2SecurityGroup", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ElasticacheSecurityGroup: CacheSecurityGroup = None (alias 'CacheSecurityGroup')
Represents the output of one of the following operations:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CacheClusterMessage[source]
Bases:
Boto3ModelRepresents the output of a
DescribeCacheClustersoperation.Show JSON schema
{ "title": "CacheClusterMessage", "description": "Represents the output of a ``DescribeCacheClusters`` operation.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Marker": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Marker" }, "CacheClusters": { "anyOf": [ { "items": { "$ref": "#/$defs/CacheCluster" }, "type": "array" }, { "type": "null" } ], "title": "Cacheclusters" } }, "$defs": { "CacheCluster": { "description": "Contains all of the attributes of a specific cluster.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroups": { "items": { "$ref": "#/$defs/CacheSecurityGroupMembership" }, "title": "Cachesecuritygroups", "type": "array" }, "NumCacheNodes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": 1, "title": "Numcachenodes" }, "CacheClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheclusterid" }, "ConfigurationEndpoint": { "$ref": "#/$defs/ElastiCacheEndpoint", "default": null }, "ClientDownloadLandingPage": { "default": null, "title": "Clientdownloadlandingpage", "type": "string" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" }, "EngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engineversion" }, "CacheClusterStatus": { "default": null, "title": "Cacheclusterstatus", "type": "string" }, "PreferredAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredavailabilityzone" }, "PreferredOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredoutpostarn" }, "CacheClusterCreateTime": { "default": null, "format": "date-time", "title": "Cacheclustercreatetime", "type": "string" }, "PreferredMaintenanceWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredmaintenancewindow" }, "PendingModifiedValues": { "$ref": "#/$defs/ElastiCachePendingModifiedValues", "default": null }, "NotificationConfiguration": { "$ref": "#/$defs/ElastiCacheNotificationConfiguration", "default": null }, "CacheParameterGroup": { "$ref": "#/$defs/CacheParameterGroupStatus", "default": null }, "CacheSubnetGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupname" }, "CacheNodes": { "items": { "$ref": "#/$defs/CacheNode" }, "title": "Cachenodes", "type": "array" }, "AutoMinorVersionUpgrade": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Autominorversionupgrade" }, "SecurityGroups": { "items": { "$ref": "#/$defs/SecurityGroupMembership" }, "title": "Securitygroups", "type": "array" }, "ReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Replicationgroupid" }, "SnapshotRetentionLimit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Snapshotretentionlimit" }, "SnapshotWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshotwindow" }, "AuthTokenEnabled": { "default": null, "title": "Authtokenenabled", "type": "boolean" }, "AuthTokenLastModifiedDate": { "default": null, "format": "date-time", "title": "Authtokenlastmodifieddate", "type": "string" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "AtRestEncryptionEnabled": { "default": null, "title": "Atrestencryptionenabled", "type": "boolean" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "ReplicationGroupLogDeliveryEnabled": { "default": null, "title": "Replicationgrouplogdeliveryenabled", "type": "boolean" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/LogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "NetworkType": { "anyOf": [ { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Networktype" }, "IpDiscovery": { "anyOf": [ { "enum": [ "ipv4", "ipv6" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipdiscovery" }, "TransitEncryptionMode": { "default": null, "enum": [ "preferred", "required" ], "title": "Transitencryptionmode", "type": "string" } }, "title": "CacheCluster", "type": "object" }, "CacheNode": { "description": "Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-\ncompliant caching software - either Memcached, Valkey or Redis OSS.\n\nThe following node types are supported by ElastiCache. Generally speaking, the current generation types provide more\nmemory and computational power at lower cost when compared to their equivalent previous generation counterparts.\n\n* General purpose:\n\n+ Current generation:\n\n**M7g node types**: ``cache.m7g.large``, ``cache.m7g.xlarge``, ``cache.m7g.2xlarge``, ``cache.m7g.4xlarge``,\n ``cache.m7g.8xlarge``, ``cache.m7g.12xlarge``, ``cache.m7g.16xlarge``\n\nFor region availability, see `Supported Node Types <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.S\nupportedTypes.html#CacheNodes.SupportedTypesByRegion>`_\n\n**M6g node types** (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16\n onward): ``cache.m6g.large``, ``cache.m6g.xlarge``, ``cache.m6g.2xlarge``, ``cache.m6g.4xlarge``, ``cache.m6g.8xlarge``,\n ``cache.m6g.12xlarge``, ``cache.m6g.16xlarge``\n\n**M5 node types:** ``cache.m5.large``, ``cache.m5.xlarge``, ``cache.m5.2xlarge``, ``cache.m5.4xlarge``,\n ``cache.m5.12xlarge``, ``cache.m5.24xlarge``\n\n**M4 node types:** ``cache.m4.large``, ``cache.m4.xlarge``, ``cache.m4.2xlarge``, ``cache.m4.4xlarge``,\n ``cache.m4.10xlarge``\n\n**T4g node types** (available only for Redis OSS engine version 5.0.6 onward and Memcached engine version 1.5.16\n onward): ``cache.t4g.micro``, ``cache.t4g.small``, ``cache.t4g.medium``\n\n**T3 node types:** ``cache.t3.micro``, ``cache.t3.small``, ``cache.t3.medium``\n\n**T2 node types:** ``cache.t2.micro``, ``cache.t2.small``, ``cache.t2.medium``\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**T1 node types:** ``cache.t1.micro``\n\n**M1 node types:** ``cache.m1.small``, ``cache.m1.medium``, ``cache.m1.large``, ``cache.m1.xlarge``\n\n**M3 node types:** ``cache.m3.medium``, ``cache.m3.large``, ``cache.m3.xlarge``, ``cache.m3.2xlarge``\n* Compute optimized:\n\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**C1 node types:** ``cache.c1.xlarge``\n* Memory optimized:\n\n+ Current generation:\n\n**R7g node types**: ``cache.r7g.large``, ``cache.r7g.xlarge``, ``cache.r7g.2xlarge``, ``cache.r7g.4xlarge``,\n ``cache.r7g.8xlarge``, ``cache.r7g.12xlarge``, ``cache.r7g.16xlarge``\n\nFor region availability, see `Supported Node Types <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.S\nupportedTypes.html#CacheNodes.SupportedTypesByRegion>`_\n\n**R6g node types** (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16\n onward): ``cache.r6g.large``, ``cache.r6g.xlarge``, ``cache.r6g.2xlarge``, ``cache.r6g.4xlarge``, ``cache.r6g.8xlarge``,\n ``cache.r6g.12xlarge``, ``cache.r6g.16xlarge``\n\n**R5 node types:** ``cache.r5.large``, ``cache.r5.xlarge``, ``cache.r5.2xlarge``, ``cache.r5.4xlarge``,\n ``cache.r5.12xlarge``, ``cache.r5.24xlarge``\n\n**R4 node types:** ``cache.r4.large``, ``cache.r4.xlarge``, ``cache.r4.2xlarge``, ``cache.r4.4xlarge``,\n ``cache.r4.8xlarge``, ``cache.r4.16xlarge``\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**M2 node types:** ``cache.m2.xlarge``, ``cache.m2.2xlarge``, ``cache.m2.4xlarge``\n\n**R3 node types:** ``cache.r3.large``, ``cache.r3.xlarge``, ``cache.r3.2xlarge``, ``cache.r3.4xlarge``,\n ``cache.r3.8xlarge``\n\n**Additional node type info**\n\n* All current generation instance types are created in Amazon VPC by default.\n* Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.\n* Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.\n* The configuration variables ``appendonly`` and ``appendfsync`` are not supported on Valkey, or on Redis OSS version\n 2.8.22 and later.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "CacheNodeStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodestatus" }, "CacheNodeCreateTime": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodecreatetime" }, "Endpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "ParameterGroupStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametergroupstatus" }, "SourceCacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Sourcecachenodeid" }, "CustomerAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Customeravailabilityzone" }, "CustomerOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Customeroutpostarn" } }, "title": "CacheNode", "type": "object" }, "CacheParameterGroupStatus": { "description": "Status of the cache parameter group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheParameterGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupname" }, "ParameterApplyStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parameterapplystatus" }, "CacheNodeIdsToReboot": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodeidstoreboot" } }, "title": "CacheParameterGroupStatus", "type": "object" }, "CacheSecurityGroupMembership": { "description": "Represents a cluster's status within a particular cache security group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesecuritygroupname" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } }, "title": "CacheSecurityGroupMembership", "type": "object" }, "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" }, "ElastiCacheNotificationConfiguration": { "description": "Describes a notification topic and its status.\n\nNotification topics are used for publishing ElastiCache events to subscribers using\nAmazon Simple Notification Service (SNS).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "TopicArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Topicarn" }, "TopicStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Topicstatus" } }, "title": "ElastiCacheNotificationConfiguration", "type": "object" }, "ElastiCachePendingModifiedValues": { "description": "A group of settings that are applied to the cluster in the future, or that are\ncurrently being applied.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NumCacheNodes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Numcachenodes" }, "CacheNodeIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodeidstoremove" }, "EngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engineversion" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "AuthTokenStatus": { "anyOf": [ { "enum": [ "SETTING", "ROTATING" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Authtokenstatus" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/PendingLogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ScaleConfig": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheScaleConfig" }, { "type": "null" } ], "default": null } }, "title": "ElastiCachePendingModifiedValues", "type": "object" }, "ElastiCacheScaleConfig": { "description": "Configuration settings for horizontal or vertical scaling operations on Memcached\nclusters.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ScalePercentage": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scalepercentage" }, "ScaleIntervalMinutes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scaleintervalminutes" } }, "title": "ElastiCacheScaleConfig", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" }, "LogDeliveryConfiguration": { "description": "Returns the destination, format and type of the logs.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" }, "Status": { "anyOf": [ { "enum": [ "active", "enabling", "modifying", "disabling", "error" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "Message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Message" } }, "title": "LogDeliveryConfiguration", "type": "object" }, "PendingLogDeliveryConfiguration": { "description": "The log delivery configurations being modified.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "title": "PendingLogDeliveryConfiguration", "type": "object" }, "SecurityGroupMembership": { "description": "Represents a single cache security group and its status.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SecurityGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Securitygroupid" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } }, "title": "SecurityGroupMembership", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field CacheClusters: builtins.list[CacheCluster] | None [Optional]
A list of clusters.
Each item in the list contains detailed information about one cluster.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CacheNodeTypeSpecificParameter[source]
Bases:
Boto3ModelA parameter that has a different value for each cache node type it is applied to.
For example, in a Valkey or Redis OSS cluster, a
cache.m1.largecache node type would have a largermaxmemoryvalue than acache.m1.smalltype.Show JSON schema
{ "title": "CacheNodeTypeSpecificParameter", "description": "A parameter that has a different value for each cache node type it is applied to.\n\nFor example, in a Valkey or Redis OSS\ncluster, a ``cache.m1.large`` cache node type would have a larger ``maxmemory`` value than a ``cache.m1.small`` type.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ParameterName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametername" }, "Description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "Source": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Source" }, "DataType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Datatype" }, "AllowedValues": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Allowedvalues" }, "IsModifiable": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Ismodifiable" }, "MinimumEngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Minimumengineversion" }, "CacheNodeTypeSpecificValues": { "anyOf": [ { "items": { "$ref": "#/$defs/CacheNodeTypeSpecificValue" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodetypespecificvalues" }, "ChangeType": { "anyOf": [ { "enum": [ "immediate", "requires-reboot" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Changetype" } }, "$defs": { "CacheNodeTypeSpecificValue": { "description": "A value that applies only to a certain cache node type.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "Value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "CacheNodeTypeSpecificValue", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field CacheNodeTypeSpecificValues: builtins.list[CacheNodeTypeSpecificValue] | None [Optional]
A list of cache node types and their corresponding values for this parameter.
- field ChangeType: Literal['immediate', 'requires-reboot'] | None = None
Indicates whether a change to the parameter is applied immediately or requires a reboot for the change to be applied.
You can force a reboot or wait until the next maintenance window’s reboot. For more information, see Rebooting a Cluster.
- field IsModifiable: bool | None = None
Indicates whether (
true) or not (false) the parameter can be modified.Some parameters have security or operational implications that prevent them from being changed.
- field MinimumEngineVersion: str | None = None
The earliest cache engine version to which the parameter can apply.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CacheNodeTypeSpecificValue[source]
Bases:
Boto3ModelA value that applies only to a certain cache node type.
Show JSON schema
{ "title": "CacheNodeTypeSpecificValue", "description": "A value that applies only to a certain cache node type.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "Value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CacheParameterGroupDetails[source]
Bases:
Boto3ModelRepresents the output of a
DescribeCacheParametersoperation.Show JSON schema
{ "title": "CacheParameterGroupDetails", "description": "Represents the output of a ``DescribeCacheParameters`` operation.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Marker": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Marker" }, "Parameters": { "anyOf": [ { "items": { "$ref": "#/$defs/CacheParameter" }, "type": "array" }, { "type": "null" } ], "title": "Parameters" }, "CacheNodeTypeSpecificParameters": { "anyOf": [ { "items": { "$ref": "#/$defs/CacheNodeTypeSpecificParameter" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodetypespecificparameters" } }, "$defs": { "CacheNodeTypeSpecificParameter": { "description": "A parameter that has a different value for each cache node type it is applied to.\n\nFor example, in a Valkey or Redis OSS\ncluster, a ``cache.m1.large`` cache node type would have a larger ``maxmemory`` value than a ``cache.m1.small`` type.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ParameterName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametername" }, "Description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "Source": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Source" }, "DataType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Datatype" }, "AllowedValues": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Allowedvalues" }, "IsModifiable": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Ismodifiable" }, "MinimumEngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Minimumengineversion" }, "CacheNodeTypeSpecificValues": { "anyOf": [ { "items": { "$ref": "#/$defs/CacheNodeTypeSpecificValue" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodetypespecificvalues" }, "ChangeType": { "anyOf": [ { "enum": [ "immediate", "requires-reboot" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Changetype" } }, "title": "CacheNodeTypeSpecificParameter", "type": "object" }, "CacheNodeTypeSpecificValue": { "description": "A value that applies only to a certain cache node type.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "Value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "CacheNodeTypeSpecificValue", "type": "object" }, "CacheParameter": { "additionalProperties": true, "description": "Describes an individual setting that controls some aspect of ElastiCache behavior.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ParameterName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametername" }, "ParameterValue": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametervalue" }, "Description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "Source": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Source" }, "DataType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Datatype" }, "AllowedValues": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Allowedvalues" }, "IsModifiable": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Ismodifiable" }, "MinimumEngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Minimumengineversion" }, "ChangeType": { "anyOf": [ { "enum": [ "immediate", "requires-reboot" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Changetype" } }, "title": "CacheParameter", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field CacheNodeTypeSpecificParameters: builtins.list[CacheNodeTypeSpecificParameter] | None [Optional]
A list of parameters specific to a particular cache node type.
Each element in the list contains detailed information about one parameter.
- field Parameters: builtins.list[CacheParameter] | None [Optional]
A list of Parameter instances.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CacheParameterGroupNameMessage[source]
Bases:
Boto3ModelRepresents the output of one of the following operations:
ModifyCacheParameterGroupResetCacheParameterGroup
Show JSON schema
{ "title": "CacheParameterGroupNameMessage", "description": "Represents the output of one of the following operations:\n\n* ``ModifyCacheParameterGroup``\n* ``ResetCacheParameterGroup``", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheParameterGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupname" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CacheParameterGroupsMessage[source]
Bases:
Boto3ModelRepresents the output of a
DescribeCacheParameterGroupsoperation.Show JSON schema
{ "title": "CacheParameterGroupsMessage", "description": "Represents the output of a ``DescribeCacheParameterGroups`` operation.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Marker": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Marker" }, "CacheParameterGroups": { "anyOf": [ { "items": { "$ref": "#/$defs/CacheParameterGroup" }, "type": "array" }, { "type": "null" } ], "title": "Cacheparametergroups" } }, "$defs": { "CacheParameterGroup": { "description": "Represents the output of a ``CreateCacheParameterGroup`` operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "IsGlobal": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Isglobal" }, "CacheParameterGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupname" }, "CacheParameterGroupFamily": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupfamily" }, "Description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "ARN": { "default": null, "title": "Arn", "type": "string" } }, "required": [ "IsGlobal" ], "title": "CacheParameterGroup", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field CacheParameterGroups: builtins.list[CacheParameterGroup] | None [Optional]
A list of cache parameter groups.
Each element in the list contains detailed information about one cache parameter group.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CacheSecurityGroupMessage[source]
Bases:
Boto3ModelRepresents the output of a
DescribeCacheSecurityGroupsoperation.Show JSON schema
{ "title": "CacheSecurityGroupMessage", "description": "Represents the output of a ``DescribeCacheSecurityGroups`` operation.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Marker": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Marker" }, "CacheSecurityGroups": { "anyOf": [ { "items": { "$ref": "#/$defs/CacheSecurityGroup" }, "type": "array" }, { "type": "null" } ], "title": "Cachesecuritygroups" } }, "$defs": { "CacheSecurityGroup": { "description": "Represents the output of one of the following operations:\n\n* ``AuthorizeCacheSecurityGroupIngress``\n* ``CreateCacheSecurityGroup``\n* ``RevokeCacheSecurityGroupIngress``", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "OwnerId": { "default": null, "title": "Ownerid", "type": "string" }, "CacheSecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesecuritygroupname" }, "Description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "EC2SecurityGroups": { "items": { "$ref": "#/$defs/EC2SecurityGroup" }, "title": "Ec2Securitygroups", "type": "array" }, "ARN": { "default": null, "title": "Arn", "type": "string" } }, "title": "CacheSecurityGroup", "type": "object" }, "EC2SecurityGroup": { "description": "Provides ownership and status information for an Amazon EC2 security group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "EC2SecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Securitygroupname" }, "EC2SecurityGroupOwnerId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Securitygroupownerid" } }, "title": "EC2SecurityGroup", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field CacheSecurityGroups: builtins.list[CacheSecurityGroup] | None [Optional]
A list of cache security groups.
Each element in the list contains detailed information about one group.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CacheSubnetGroupMessage[source]
Bases:
Boto3ModelRepresents the output of a
DescribeCacheSubnetGroupsoperation.Show JSON schema
{ "title": "CacheSubnetGroupMessage", "description": "Represents the output of a ``DescribeCacheSubnetGroups`` operation.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Marker": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Marker" }, "CacheSubnetGroups": { "anyOf": [ { "items": { "$ref": "#/$defs/CacheSubnetGroup" }, "type": "array" }, { "type": "null" } ], "title": "Cachesubnetgroups" } }, "$defs": { "CacheSubnetGroup": { "description": "Represents the output of one of the following operations:\n\n* ``CreateCacheSubnetGroup``\n* ``ModifyCacheSubnetGroup``", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSubnetGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupname" }, "CacheSubnetGroupDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupdescription" }, "VpcId": { "default": null, "title": "Vpcid", "type": "string" }, "Subnets": { "items": { "$ref": "#/$defs/Subnet" }, "title": "Subnets", "type": "array" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "SupportedNetworkTypes": { "items": { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, "title": "Supportednetworktypes", "type": "array" } }, "title": "CacheSubnetGroup", "type": "object" }, "EC2BlockPublicAccessStates": { "description": "The state of VPC Block Public Access (BPA).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "InternetGatewayBlockMode": { "anyOf": [ { "enum": [ "off", "block-bidirectional", "block-ingress" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Internetgatewayblockmode" } }, "title": "EC2BlockPublicAccessStates", "type": "object" }, "EC2PrivateDnsNameOptionsOnLaunch": { "description": "Describes the options for instance hostnames.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "HostnameType": { "anyOf": [ { "enum": [ "ip-name", "resource-name" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Hostnametype" }, "EnableResourceNameDnsARecord": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enableresourcenamednsarecord" }, "EnableResourceNameDnsAAAARecord": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enableresourcenamednsaaaarecord" } }, "title": "EC2PrivateDnsNameOptionsOnLaunch", "type": "object" }, "Subnet": { "description": "Describes a subnet.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "VpcId": { "title": "Vpcid", "type": "string" }, "AvailabilityZone": { "title": "Availabilityzone", "type": "string" }, "CidrBlock": { "title": "Cidrblock", "type": "string" }, "Ipv6Native": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Ipv6Native" }, "Tags": { "anyOf": [ { "items": { "$ref": "#/$defs/Tag" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "AvailabilityZoneId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Availabilityzoneid" }, "EnableLniAtDeviceIndex": { "default": null, "title": "Enablelniatdeviceindex", "type": "integer" }, "MapCustomerOwnedIpOnLaunch": { "default": null, "title": "Mapcustomerownediponlaunch", "type": "boolean" }, "CustomerOwnedIpv4Pool": { "default": null, "title": "Customerownedipv4Pool", "type": "string" }, "OwnerId": { "default": null, "title": "Ownerid", "type": "string" }, "AssignIpv6AddressOnCreation": { "default": null, "title": "Assignipv6Addressoncreation", "type": "boolean" }, "Ipv6CidrBlockAssociationSet": { "items": { "$ref": "#/$defs/SubnetIpv6CidrBlockAssociation" }, "title": "Ipv6Cidrblockassociationset", "type": "array" }, "SubnetArn": { "default": null, "title": "Subnetarn", "type": "string" }, "OutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Outpostarn" }, "EnableDns64": { "default": null, "title": "Enabledns64", "type": "boolean" }, "PrivateDnsNameOptionsOnLaunch": { "$ref": "#/$defs/EC2PrivateDnsNameOptionsOnLaunch", "default": null }, "BlockPublicAccessStates": { "$ref": "#/$defs/EC2BlockPublicAccessStates", "default": null }, "Type": { "default": null, "title": "Type", "type": "string" }, "SubnetId": { "default": null, "title": "Subnetid", "type": "string" }, "State": { "default": null, "enum": [ "pending", "available", "unavailable", "failed", "failed-insufficient-capacity" ], "title": "State", "type": "string" }, "AvailableIpAddressCount": { "default": null, "title": "Availableipaddresscount", "type": "integer" }, "DefaultForAz": { "default": null, "title": "Defaultforaz", "type": "boolean" }, "MapPublicIpOnLaunch": { "default": null, "title": "Mappubliciponlaunch", "type": "boolean" } }, "required": [ "VpcId", "AvailabilityZone", "CidrBlock" ], "title": "Subnet", "type": "object" }, "SubnetCidrBlockState": { "description": "Describes the state of a CIDR block.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "State": { "anyOf": [ { "enum": [ "associating", "associated", "disassociating", "disassociated", "failing", "failed" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "State" }, "StatusMessage": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Statusmessage" } }, "title": "SubnetCidrBlockState", "type": "object" }, "SubnetIpv6CidrBlockAssociation": { "description": "Describes an association between a subnet and an IPv6 CIDR block.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "AssociationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Associationid" }, "Ipv6CidrBlock": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipv6Cidrblock" }, "Ipv6CidrBlockState": { "anyOf": [ { "$ref": "#/$defs/SubnetCidrBlockState" }, { "type": "null" } ], "default": null }, "Ipv6AddressAttribute": { "anyOf": [ { "enum": [ "public", "private" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipv6Addressattribute" }, "IpSource": { "anyOf": [ { "enum": [ "amazon", "byoip", "none" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipsource" } }, "title": "SubnetIpv6CidrBlockAssociation", "type": "object" }, "Tag": { "description": "The metadata that you apply to a resource to help you categorize and\norganize them. Each tag consists of a key and an optional value. You define\nthem.\n\nThe following basic restrictions apply to tags:\n\n* Maximum number of tags per resource - 50\n* For each resource, each tag key must be unique, and each tag key can have\n only one value.\n* Maximum key length - 128 Unicode characters in UTF-8\n* Maximum value length - 256 Unicode characters in UTF-8\n* If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.\n* Tag keys and values are case-sensitive.\n* Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such\n as a prefix for either keys or values as it is reserved for Amazon Web Services\n use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Key" }, "Value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "Tag", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field CacheSubnetGroups: builtins.list[CacheSubnetGroup] | None [Optional]
A list of cache subnet groups.
Each element in the list contains detailed information about one group.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CreateCacheClusterResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "CreateCacheClusterResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheCluster": { "$ref": "#/$defs/CacheCluster", "default": null } }, "$defs": { "CacheCluster": { "description": "Contains all of the attributes of a specific cluster.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroups": { "items": { "$ref": "#/$defs/CacheSecurityGroupMembership" }, "title": "Cachesecuritygroups", "type": "array" }, "NumCacheNodes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": 1, "title": "Numcachenodes" }, "CacheClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheclusterid" }, "ConfigurationEndpoint": { "$ref": "#/$defs/ElastiCacheEndpoint", "default": null }, "ClientDownloadLandingPage": { "default": null, "title": "Clientdownloadlandingpage", "type": "string" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" }, "EngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engineversion" }, "CacheClusterStatus": { "default": null, "title": "Cacheclusterstatus", "type": "string" }, "PreferredAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredavailabilityzone" }, "PreferredOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredoutpostarn" }, "CacheClusterCreateTime": { "default": null, "format": "date-time", "title": "Cacheclustercreatetime", "type": "string" }, "PreferredMaintenanceWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredmaintenancewindow" }, "PendingModifiedValues": { "$ref": "#/$defs/ElastiCachePendingModifiedValues", "default": null }, "NotificationConfiguration": { "$ref": "#/$defs/ElastiCacheNotificationConfiguration", "default": null }, "CacheParameterGroup": { "$ref": "#/$defs/CacheParameterGroupStatus", "default": null }, "CacheSubnetGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupname" }, "CacheNodes": { "items": { "$ref": "#/$defs/CacheNode" }, "title": "Cachenodes", "type": "array" }, "AutoMinorVersionUpgrade": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Autominorversionupgrade" }, "SecurityGroups": { "items": { "$ref": "#/$defs/SecurityGroupMembership" }, "title": "Securitygroups", "type": "array" }, "ReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Replicationgroupid" }, "SnapshotRetentionLimit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Snapshotretentionlimit" }, "SnapshotWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshotwindow" }, "AuthTokenEnabled": { "default": null, "title": "Authtokenenabled", "type": "boolean" }, "AuthTokenLastModifiedDate": { "default": null, "format": "date-time", "title": "Authtokenlastmodifieddate", "type": "string" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "AtRestEncryptionEnabled": { "default": null, "title": "Atrestencryptionenabled", "type": "boolean" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "ReplicationGroupLogDeliveryEnabled": { "default": null, "title": "Replicationgrouplogdeliveryenabled", "type": "boolean" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/LogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "NetworkType": { "anyOf": [ { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Networktype" }, "IpDiscovery": { "anyOf": [ { "enum": [ "ipv4", "ipv6" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipdiscovery" }, "TransitEncryptionMode": { "default": null, "enum": [ "preferred", "required" ], "title": "Transitencryptionmode", "type": "string" } }, "title": "CacheCluster", "type": "object" }, "CacheNode": { "description": "Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-\ncompliant caching software - either Memcached, Valkey or Redis OSS.\n\nThe following node types are supported by ElastiCache. Generally speaking, the current generation types provide more\nmemory and computational power at lower cost when compared to their equivalent previous generation counterparts.\n\n* General purpose:\n\n+ Current generation:\n\n**M7g node types**: ``cache.m7g.large``, ``cache.m7g.xlarge``, ``cache.m7g.2xlarge``, ``cache.m7g.4xlarge``,\n ``cache.m7g.8xlarge``, ``cache.m7g.12xlarge``, ``cache.m7g.16xlarge``\n\nFor region availability, see `Supported Node Types <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.S\nupportedTypes.html#CacheNodes.SupportedTypesByRegion>`_\n\n**M6g node types** (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16\n onward): ``cache.m6g.large``, ``cache.m6g.xlarge``, ``cache.m6g.2xlarge``, ``cache.m6g.4xlarge``, ``cache.m6g.8xlarge``,\n ``cache.m6g.12xlarge``, ``cache.m6g.16xlarge``\n\n**M5 node types:** ``cache.m5.large``, ``cache.m5.xlarge``, ``cache.m5.2xlarge``, ``cache.m5.4xlarge``,\n ``cache.m5.12xlarge``, ``cache.m5.24xlarge``\n\n**M4 node types:** ``cache.m4.large``, ``cache.m4.xlarge``, ``cache.m4.2xlarge``, ``cache.m4.4xlarge``,\n ``cache.m4.10xlarge``\n\n**T4g node types** (available only for Redis OSS engine version 5.0.6 onward and Memcached engine version 1.5.16\n onward): ``cache.t4g.micro``, ``cache.t4g.small``, ``cache.t4g.medium``\n\n**T3 node types:** ``cache.t3.micro``, ``cache.t3.small``, ``cache.t3.medium``\n\n**T2 node types:** ``cache.t2.micro``, ``cache.t2.small``, ``cache.t2.medium``\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**T1 node types:** ``cache.t1.micro``\n\n**M1 node types:** ``cache.m1.small``, ``cache.m1.medium``, ``cache.m1.large``, ``cache.m1.xlarge``\n\n**M3 node types:** ``cache.m3.medium``, ``cache.m3.large``, ``cache.m3.xlarge``, ``cache.m3.2xlarge``\n* Compute optimized:\n\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**C1 node types:** ``cache.c1.xlarge``\n* Memory optimized:\n\n+ Current generation:\n\n**R7g node types**: ``cache.r7g.large``, ``cache.r7g.xlarge``, ``cache.r7g.2xlarge``, ``cache.r7g.4xlarge``,\n ``cache.r7g.8xlarge``, ``cache.r7g.12xlarge``, ``cache.r7g.16xlarge``\n\nFor region availability, see `Supported Node Types <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.S\nupportedTypes.html#CacheNodes.SupportedTypesByRegion>`_\n\n**R6g node types** (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16\n onward): ``cache.r6g.large``, ``cache.r6g.xlarge``, ``cache.r6g.2xlarge``, ``cache.r6g.4xlarge``, ``cache.r6g.8xlarge``,\n ``cache.r6g.12xlarge``, ``cache.r6g.16xlarge``\n\n**R5 node types:** ``cache.r5.large``, ``cache.r5.xlarge``, ``cache.r5.2xlarge``, ``cache.r5.4xlarge``,\n ``cache.r5.12xlarge``, ``cache.r5.24xlarge``\n\n**R4 node types:** ``cache.r4.large``, ``cache.r4.xlarge``, ``cache.r4.2xlarge``, ``cache.r4.4xlarge``,\n ``cache.r4.8xlarge``, ``cache.r4.16xlarge``\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**M2 node types:** ``cache.m2.xlarge``, ``cache.m2.2xlarge``, ``cache.m2.4xlarge``\n\n**R3 node types:** ``cache.r3.large``, ``cache.r3.xlarge``, ``cache.r3.2xlarge``, ``cache.r3.4xlarge``,\n ``cache.r3.8xlarge``\n\n**Additional node type info**\n\n* All current generation instance types are created in Amazon VPC by default.\n* Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.\n* Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.\n* The configuration variables ``appendonly`` and ``appendfsync`` are not supported on Valkey, or on Redis OSS version\n 2.8.22 and later.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "CacheNodeStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodestatus" }, "CacheNodeCreateTime": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodecreatetime" }, "Endpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "ParameterGroupStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametergroupstatus" }, "SourceCacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Sourcecachenodeid" }, "CustomerAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Customeravailabilityzone" }, "CustomerOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Customeroutpostarn" } }, "title": "CacheNode", "type": "object" }, "CacheParameterGroupStatus": { "description": "Status of the cache parameter group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheParameterGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupname" }, "ParameterApplyStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parameterapplystatus" }, "CacheNodeIdsToReboot": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodeidstoreboot" } }, "title": "CacheParameterGroupStatus", "type": "object" }, "CacheSecurityGroupMembership": { "description": "Represents a cluster's status within a particular cache security group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesecuritygroupname" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } }, "title": "CacheSecurityGroupMembership", "type": "object" }, "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" }, "ElastiCacheNotificationConfiguration": { "description": "Describes a notification topic and its status.\n\nNotification topics are used for publishing ElastiCache events to subscribers using\nAmazon Simple Notification Service (SNS).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "TopicArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Topicarn" }, "TopicStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Topicstatus" } }, "title": "ElastiCacheNotificationConfiguration", "type": "object" }, "ElastiCachePendingModifiedValues": { "description": "A group of settings that are applied to the cluster in the future, or that are\ncurrently being applied.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NumCacheNodes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Numcachenodes" }, "CacheNodeIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodeidstoremove" }, "EngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engineversion" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "AuthTokenStatus": { "anyOf": [ { "enum": [ "SETTING", "ROTATING" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Authtokenstatus" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/PendingLogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ScaleConfig": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheScaleConfig" }, { "type": "null" } ], "default": null } }, "title": "ElastiCachePendingModifiedValues", "type": "object" }, "ElastiCacheScaleConfig": { "description": "Configuration settings for horizontal or vertical scaling operations on Memcached\nclusters.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ScalePercentage": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scalepercentage" }, "ScaleIntervalMinutes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scaleintervalminutes" } }, "title": "ElastiCacheScaleConfig", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" }, "LogDeliveryConfiguration": { "description": "Returns the destination, format and type of the logs.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" }, "Status": { "anyOf": [ { "enum": [ "active", "enabling", "modifying", "disabling", "error" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "Message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Message" } }, "title": "LogDeliveryConfiguration", "type": "object" }, "PendingLogDeliveryConfiguration": { "description": "The log delivery configurations being modified.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "title": "PendingLogDeliveryConfiguration", "type": "object" }, "SecurityGroupMembership": { "description": "Represents a single cache security group and its status.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SecurityGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Securitygroupid" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } }, "title": "SecurityGroupMembership", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ElasticacheCluster: CacheCluster = None (alias 'CacheCluster')
Contains all of the attributes of a specific cluster.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CreateCacheParameterGroupResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "CreateCacheParameterGroupResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheParameterGroup": { "$ref": "#/$defs/CacheParameterGroup", "default": null } }, "$defs": { "CacheParameterGroup": { "description": "Represents the output of a ``CreateCacheParameterGroup`` operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "IsGlobal": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Isglobal" }, "CacheParameterGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupname" }, "CacheParameterGroupFamily": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupfamily" }, "Description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "ARN": { "default": null, "title": "Arn", "type": "string" } }, "required": [ "IsGlobal" ], "title": "CacheParameterGroup", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ElasticacheParameterGroup: CacheParameterGroup = None (alias 'CacheParameterGroup')
Represents the output of a
CreateCacheParameterGroupoperation.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CreateCacheSecurityGroupResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "CreateCacheSecurityGroupResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroup": { "$ref": "#/$defs/CacheSecurityGroup", "default": null } }, "$defs": { "CacheSecurityGroup": { "description": "Represents the output of one of the following operations:\n\n* ``AuthorizeCacheSecurityGroupIngress``\n* ``CreateCacheSecurityGroup``\n* ``RevokeCacheSecurityGroupIngress``", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "OwnerId": { "default": null, "title": "Ownerid", "type": "string" }, "CacheSecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesecuritygroupname" }, "Description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "EC2SecurityGroups": { "items": { "$ref": "#/$defs/EC2SecurityGroup" }, "title": "Ec2Securitygroups", "type": "array" }, "ARN": { "default": null, "title": "Arn", "type": "string" } }, "title": "CacheSecurityGroup", "type": "object" }, "EC2SecurityGroup": { "description": "Provides ownership and status information for an Amazon EC2 security group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "EC2SecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Securitygroupname" }, "EC2SecurityGroupOwnerId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Securitygroupownerid" } }, "title": "EC2SecurityGroup", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ElasticacheSecurityGroup: CacheSecurityGroup = None (alias 'CacheSecurityGroup')
Represents the output of one of the following operations:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CreateCacheSubnetGroupResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "CreateCacheSubnetGroupResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSubnetGroup": { "$ref": "#/$defs/CacheSubnetGroup", "default": null } }, "$defs": { "CacheSubnetGroup": { "description": "Represents the output of one of the following operations:\n\n* ``CreateCacheSubnetGroup``\n* ``ModifyCacheSubnetGroup``", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSubnetGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupname" }, "CacheSubnetGroupDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupdescription" }, "VpcId": { "default": null, "title": "Vpcid", "type": "string" }, "Subnets": { "items": { "$ref": "#/$defs/Subnet" }, "title": "Subnets", "type": "array" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "SupportedNetworkTypes": { "items": { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, "title": "Supportednetworktypes", "type": "array" } }, "title": "CacheSubnetGroup", "type": "object" }, "EC2BlockPublicAccessStates": { "description": "The state of VPC Block Public Access (BPA).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "InternetGatewayBlockMode": { "anyOf": [ { "enum": [ "off", "block-bidirectional", "block-ingress" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Internetgatewayblockmode" } }, "title": "EC2BlockPublicAccessStates", "type": "object" }, "EC2PrivateDnsNameOptionsOnLaunch": { "description": "Describes the options for instance hostnames.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "HostnameType": { "anyOf": [ { "enum": [ "ip-name", "resource-name" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Hostnametype" }, "EnableResourceNameDnsARecord": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enableresourcenamednsarecord" }, "EnableResourceNameDnsAAAARecord": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enableresourcenamednsaaaarecord" } }, "title": "EC2PrivateDnsNameOptionsOnLaunch", "type": "object" }, "Subnet": { "description": "Describes a subnet.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "VpcId": { "title": "Vpcid", "type": "string" }, "AvailabilityZone": { "title": "Availabilityzone", "type": "string" }, "CidrBlock": { "title": "Cidrblock", "type": "string" }, "Ipv6Native": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Ipv6Native" }, "Tags": { "anyOf": [ { "items": { "$ref": "#/$defs/Tag" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "AvailabilityZoneId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Availabilityzoneid" }, "EnableLniAtDeviceIndex": { "default": null, "title": "Enablelniatdeviceindex", "type": "integer" }, "MapCustomerOwnedIpOnLaunch": { "default": null, "title": "Mapcustomerownediponlaunch", "type": "boolean" }, "CustomerOwnedIpv4Pool": { "default": null, "title": "Customerownedipv4Pool", "type": "string" }, "OwnerId": { "default": null, "title": "Ownerid", "type": "string" }, "AssignIpv6AddressOnCreation": { "default": null, "title": "Assignipv6Addressoncreation", "type": "boolean" }, "Ipv6CidrBlockAssociationSet": { "items": { "$ref": "#/$defs/SubnetIpv6CidrBlockAssociation" }, "title": "Ipv6Cidrblockassociationset", "type": "array" }, "SubnetArn": { "default": null, "title": "Subnetarn", "type": "string" }, "OutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Outpostarn" }, "EnableDns64": { "default": null, "title": "Enabledns64", "type": "boolean" }, "PrivateDnsNameOptionsOnLaunch": { "$ref": "#/$defs/EC2PrivateDnsNameOptionsOnLaunch", "default": null }, "BlockPublicAccessStates": { "$ref": "#/$defs/EC2BlockPublicAccessStates", "default": null }, "Type": { "default": null, "title": "Type", "type": "string" }, "SubnetId": { "default": null, "title": "Subnetid", "type": "string" }, "State": { "default": null, "enum": [ "pending", "available", "unavailable", "failed", "failed-insufficient-capacity" ], "title": "State", "type": "string" }, "AvailableIpAddressCount": { "default": null, "title": "Availableipaddresscount", "type": "integer" }, "DefaultForAz": { "default": null, "title": "Defaultforaz", "type": "boolean" }, "MapPublicIpOnLaunch": { "default": null, "title": "Mappubliciponlaunch", "type": "boolean" } }, "required": [ "VpcId", "AvailabilityZone", "CidrBlock" ], "title": "Subnet", "type": "object" }, "SubnetCidrBlockState": { "description": "Describes the state of a CIDR block.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "State": { "anyOf": [ { "enum": [ "associating", "associated", "disassociating", "disassociated", "failing", "failed" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "State" }, "StatusMessage": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Statusmessage" } }, "title": "SubnetCidrBlockState", "type": "object" }, "SubnetIpv6CidrBlockAssociation": { "description": "Describes an association between a subnet and an IPv6 CIDR block.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "AssociationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Associationid" }, "Ipv6CidrBlock": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipv6Cidrblock" }, "Ipv6CidrBlockState": { "anyOf": [ { "$ref": "#/$defs/SubnetCidrBlockState" }, { "type": "null" } ], "default": null }, "Ipv6AddressAttribute": { "anyOf": [ { "enum": [ "public", "private" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipv6Addressattribute" }, "IpSource": { "anyOf": [ { "enum": [ "amazon", "byoip", "none" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipsource" } }, "title": "SubnetIpv6CidrBlockAssociation", "type": "object" }, "Tag": { "description": "The metadata that you apply to a resource to help you categorize and\norganize them. Each tag consists of a key and an optional value. You define\nthem.\n\nThe following basic restrictions apply to tags:\n\n* Maximum number of tags per resource - 50\n* For each resource, each tag key must be unique, and each tag key can have\n only one value.\n* Maximum key length - 128 Unicode characters in UTF-8\n* Maximum value length - 256 Unicode characters in UTF-8\n* If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.\n* Tag keys and values are case-sensitive.\n* Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such\n as a prefix for either keys or values as it is reserved for Amazon Web Services\n use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Key" }, "Value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "Tag", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ElasticacheSubnetGroup: CacheSubnetGroup = None (alias 'CacheSubnetGroup')
Represents the output of one of the following operations:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.CreateReplicationGroupResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "CreateReplicationGroupResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ReplicationGroup": { "$ref": "#/$defs/ReplicationGroup", "default": null } }, "$defs": { "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" }, "ElastiCacheGlobalReplicationGroupInfo": { "description": "The name of the Global datastore and role of this replication group in the Global\ndatastore.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "GlobalReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Globalreplicationgroupid" }, "GlobalReplicationGroupMemberRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Globalreplicationgroupmemberrole" } }, "title": "ElastiCacheGlobalReplicationGroupInfo", "type": "object" }, "ElastiCacheSlotMigration": { "description": "Represents the progress of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ProgressPercentage": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Progresspercentage" } }, "title": "ElastiCacheSlotMigration", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" }, "LogDeliveryConfiguration": { "description": "Returns the destination, format and type of the logs.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" }, "Status": { "anyOf": [ { "enum": [ "active", "enabling", "modifying", "disabling", "error" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "Message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Message" } }, "title": "LogDeliveryConfiguration", "type": "object" }, "NodeGroup": { "description": "Represents a collection of cache nodes in a replication group.\n\nOne node in the node group is the read/write primary node. All the other nodes are\nread-only Replica nodes.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NodeGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Nodegroupid" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "PrimaryEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "ReaderEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "Slots": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Slots" }, "NodeGroupMembers": { "anyOf": [ { "items": { "$ref": "#/$defs/NodeGroupMember" }, "type": "array" }, { "type": "null" } ], "title": "Nodegroupmembers" } }, "title": "NodeGroup", "type": "object" }, "NodeGroupMember": { "description": "Represents a single node within a node group (shard).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheclusterid" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "ReadEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "PreferredAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredavailabilityzone" }, "PreferredOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredoutpostarn" }, "CurrentRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Currentrole" } }, "title": "NodeGroupMember", "type": "object" }, "PendingLogDeliveryConfiguration": { "description": "The log delivery configurations being modified.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "title": "PendingLogDeliveryConfiguration", "type": "object" }, "ReplicationGroup": { "description": "Contains all of the attributes of a specific Valkey or Redis OSS replication group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "MemberClusters": { "items": { "type": "string" }, "title": "Memberclusters", "type": "array" }, "MultiAZ": { "anyOf": [ { "enum": [ "enabled", "disabled" ], "type": "string" }, { "type": "null" } ], "title": "Multiaz" }, "ReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Replicationgroupid" }, "Description": { "default": null, "title": "Description", "type": "string" }, "GlobalReplicationGroupInfo": { "$ref": "#/$defs/ElastiCacheGlobalReplicationGroupInfo", "default": null }, "Status": { "default": null, "title": "Status", "type": "string" }, "PendingModifiedValues": { "$ref": "#/$defs/ReplicationGroupPendingModifiedValues", "default": null }, "NodeGroups": { "items": { "$ref": "#/$defs/NodeGroup" }, "title": "Nodegroups", "type": "array" }, "SnapshottingClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshottingclusterid" }, "AutomaticFailover": { "default": null, "enum": [ "enabled", "disabled", "enabling", "disabling" ], "title": "Automaticfailover", "type": "string" }, "ConfigurationEndpoint": { "$ref": "#/$defs/ElastiCacheEndpoint", "default": null }, "SnapshotRetentionLimit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Snapshotretentionlimit" }, "SnapshotWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshotwindow" }, "ClusterEnabled": { "default": null, "title": "Clusterenabled", "type": "boolean" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "AuthTokenEnabled": { "default": null, "title": "Authtokenenabled", "type": "boolean" }, "AuthTokenLastModifiedDate": { "default": null, "format": "date-time", "title": "Authtokenlastmodifieddate", "type": "string" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "AtRestEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Atrestencryptionenabled" }, "MemberClustersOutpostArns": { "items": { "type": "string" }, "title": "Memberclustersoutpostarns", "type": "array" }, "KmsKeyId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Kmskeyid" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "UserGroupIds": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupids" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/LogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "ReplicationGroupCreateTime": { "default": null, "format": "date-time", "title": "Replicationgroupcreatetime", "type": "string" }, "DataTiering": { "default": null, "enum": [ "enabled", "disabled" ], "title": "Datatiering", "type": "string" }, "AutoMinorVersionUpgrade": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Autominorversionupgrade" }, "NetworkType": { "anyOf": [ { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Networktype" }, "IpDiscovery": { "anyOf": [ { "enum": [ "ipv4", "ipv6" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipdiscovery" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ClusterMode": { "anyOf": [ { "enum": [ "enabled", "disabled", "compatible" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Clustermode" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" } }, "required": [ "MultiAZ" ], "title": "ReplicationGroup", "type": "object" }, "ReplicationGroupPendingModifiedValues": { "description": "The settings to be applied to the Valkey or Redis OSS replication group, either\nimmediately or during the next maintenance window.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "PrimaryClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Primaryclusterid" }, "AutomaticFailoverStatus": { "anyOf": [ { "enum": [ "enabled", "disabled" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Automaticfailoverstatus" }, "Resharding": { "anyOf": [ { "$ref": "#/$defs/ReshardingStatus" }, { "type": "null" } ], "default": null }, "AuthTokenStatus": { "anyOf": [ { "enum": [ "SETTING", "ROTATING" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Authtokenstatus" }, "UserGroups": { "anyOf": [ { "$ref": "#/$defs/UserGroupsUpdateStatus" }, { "type": "null" } ], "default": null }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/PendingLogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ClusterMode": { "anyOf": [ { "enum": [ "enabled", "disabled", "compatible" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Clustermode" } }, "title": "ReplicationGroupPendingModifiedValues", "type": "object" }, "ReshardingStatus": { "description": "The status of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SlotMigration": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheSlotMigration" }, { "type": "null" } ], "default": null } }, "title": "ReshardingStatus", "type": "object" }, "UserGroupsUpdateStatus": { "description": "The status of the user group update.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "UserGroupIdsToAdd": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoadd" }, "UserGroupIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoremove" } }, "title": "UserGroupsUpdateStatus", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ElasticacheReplicationGroup: ReplicationGroup = None (alias 'ReplicationGroup')
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.DeleteCacheClusterResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "DeleteCacheClusterResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheCluster": { "$ref": "#/$defs/CacheCluster", "default": null } }, "$defs": { "CacheCluster": { "description": "Contains all of the attributes of a specific cluster.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroups": { "items": { "$ref": "#/$defs/CacheSecurityGroupMembership" }, "title": "Cachesecuritygroups", "type": "array" }, "NumCacheNodes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": 1, "title": "Numcachenodes" }, "CacheClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheclusterid" }, "ConfigurationEndpoint": { "$ref": "#/$defs/ElastiCacheEndpoint", "default": null }, "ClientDownloadLandingPage": { "default": null, "title": "Clientdownloadlandingpage", "type": "string" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" }, "EngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engineversion" }, "CacheClusterStatus": { "default": null, "title": "Cacheclusterstatus", "type": "string" }, "PreferredAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredavailabilityzone" }, "PreferredOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredoutpostarn" }, "CacheClusterCreateTime": { "default": null, "format": "date-time", "title": "Cacheclustercreatetime", "type": "string" }, "PreferredMaintenanceWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredmaintenancewindow" }, "PendingModifiedValues": { "$ref": "#/$defs/ElastiCachePendingModifiedValues", "default": null }, "NotificationConfiguration": { "$ref": "#/$defs/ElastiCacheNotificationConfiguration", "default": null }, "CacheParameterGroup": { "$ref": "#/$defs/CacheParameterGroupStatus", "default": null }, "CacheSubnetGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupname" }, "CacheNodes": { "items": { "$ref": "#/$defs/CacheNode" }, "title": "Cachenodes", "type": "array" }, "AutoMinorVersionUpgrade": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Autominorversionupgrade" }, "SecurityGroups": { "items": { "$ref": "#/$defs/SecurityGroupMembership" }, "title": "Securitygroups", "type": "array" }, "ReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Replicationgroupid" }, "SnapshotRetentionLimit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Snapshotretentionlimit" }, "SnapshotWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshotwindow" }, "AuthTokenEnabled": { "default": null, "title": "Authtokenenabled", "type": "boolean" }, "AuthTokenLastModifiedDate": { "default": null, "format": "date-time", "title": "Authtokenlastmodifieddate", "type": "string" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "AtRestEncryptionEnabled": { "default": null, "title": "Atrestencryptionenabled", "type": "boolean" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "ReplicationGroupLogDeliveryEnabled": { "default": null, "title": "Replicationgrouplogdeliveryenabled", "type": "boolean" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/LogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "NetworkType": { "anyOf": [ { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Networktype" }, "IpDiscovery": { "anyOf": [ { "enum": [ "ipv4", "ipv6" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipdiscovery" }, "TransitEncryptionMode": { "default": null, "enum": [ "preferred", "required" ], "title": "Transitencryptionmode", "type": "string" } }, "title": "CacheCluster", "type": "object" }, "CacheNode": { "description": "Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-\ncompliant caching software - either Memcached, Valkey or Redis OSS.\n\nThe following node types are supported by ElastiCache. Generally speaking, the current generation types provide more\nmemory and computational power at lower cost when compared to their equivalent previous generation counterparts.\n\n* General purpose:\n\n+ Current generation:\n\n**M7g node types**: ``cache.m7g.large``, ``cache.m7g.xlarge``, ``cache.m7g.2xlarge``, ``cache.m7g.4xlarge``,\n ``cache.m7g.8xlarge``, ``cache.m7g.12xlarge``, ``cache.m7g.16xlarge``\n\nFor region availability, see `Supported Node Types <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.S\nupportedTypes.html#CacheNodes.SupportedTypesByRegion>`_\n\n**M6g node types** (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16\n onward): ``cache.m6g.large``, ``cache.m6g.xlarge``, ``cache.m6g.2xlarge``, ``cache.m6g.4xlarge``, ``cache.m6g.8xlarge``,\n ``cache.m6g.12xlarge``, ``cache.m6g.16xlarge``\n\n**M5 node types:** ``cache.m5.large``, ``cache.m5.xlarge``, ``cache.m5.2xlarge``, ``cache.m5.4xlarge``,\n ``cache.m5.12xlarge``, ``cache.m5.24xlarge``\n\n**M4 node types:** ``cache.m4.large``, ``cache.m4.xlarge``, ``cache.m4.2xlarge``, ``cache.m4.4xlarge``,\n ``cache.m4.10xlarge``\n\n**T4g node types** (available only for Redis OSS engine version 5.0.6 onward and Memcached engine version 1.5.16\n onward): ``cache.t4g.micro``, ``cache.t4g.small``, ``cache.t4g.medium``\n\n**T3 node types:** ``cache.t3.micro``, ``cache.t3.small``, ``cache.t3.medium``\n\n**T2 node types:** ``cache.t2.micro``, ``cache.t2.small``, ``cache.t2.medium``\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**T1 node types:** ``cache.t1.micro``\n\n**M1 node types:** ``cache.m1.small``, ``cache.m1.medium``, ``cache.m1.large``, ``cache.m1.xlarge``\n\n**M3 node types:** ``cache.m3.medium``, ``cache.m3.large``, ``cache.m3.xlarge``, ``cache.m3.2xlarge``\n* Compute optimized:\n\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**C1 node types:** ``cache.c1.xlarge``\n* Memory optimized:\n\n+ Current generation:\n\n**R7g node types**: ``cache.r7g.large``, ``cache.r7g.xlarge``, ``cache.r7g.2xlarge``, ``cache.r7g.4xlarge``,\n ``cache.r7g.8xlarge``, ``cache.r7g.12xlarge``, ``cache.r7g.16xlarge``\n\nFor region availability, see `Supported Node Types <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.S\nupportedTypes.html#CacheNodes.SupportedTypesByRegion>`_\n\n**R6g node types** (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16\n onward): ``cache.r6g.large``, ``cache.r6g.xlarge``, ``cache.r6g.2xlarge``, ``cache.r6g.4xlarge``, ``cache.r6g.8xlarge``,\n ``cache.r6g.12xlarge``, ``cache.r6g.16xlarge``\n\n**R5 node types:** ``cache.r5.large``, ``cache.r5.xlarge``, ``cache.r5.2xlarge``, ``cache.r5.4xlarge``,\n ``cache.r5.12xlarge``, ``cache.r5.24xlarge``\n\n**R4 node types:** ``cache.r4.large``, ``cache.r4.xlarge``, ``cache.r4.2xlarge``, ``cache.r4.4xlarge``,\n ``cache.r4.8xlarge``, ``cache.r4.16xlarge``\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**M2 node types:** ``cache.m2.xlarge``, ``cache.m2.2xlarge``, ``cache.m2.4xlarge``\n\n**R3 node types:** ``cache.r3.large``, ``cache.r3.xlarge``, ``cache.r3.2xlarge``, ``cache.r3.4xlarge``,\n ``cache.r3.8xlarge``\n\n**Additional node type info**\n\n* All current generation instance types are created in Amazon VPC by default.\n* Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.\n* Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.\n* The configuration variables ``appendonly`` and ``appendfsync`` are not supported on Valkey, or on Redis OSS version\n 2.8.22 and later.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "CacheNodeStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodestatus" }, "CacheNodeCreateTime": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodecreatetime" }, "Endpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "ParameterGroupStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametergroupstatus" }, "SourceCacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Sourcecachenodeid" }, "CustomerAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Customeravailabilityzone" }, "CustomerOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Customeroutpostarn" } }, "title": "CacheNode", "type": "object" }, "CacheParameterGroupStatus": { "description": "Status of the cache parameter group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheParameterGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupname" }, "ParameterApplyStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parameterapplystatus" }, "CacheNodeIdsToReboot": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodeidstoreboot" } }, "title": "CacheParameterGroupStatus", "type": "object" }, "CacheSecurityGroupMembership": { "description": "Represents a cluster's status within a particular cache security group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesecuritygroupname" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } }, "title": "CacheSecurityGroupMembership", "type": "object" }, "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" }, "ElastiCacheNotificationConfiguration": { "description": "Describes a notification topic and its status.\n\nNotification topics are used for publishing ElastiCache events to subscribers using\nAmazon Simple Notification Service (SNS).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "TopicArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Topicarn" }, "TopicStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Topicstatus" } }, "title": "ElastiCacheNotificationConfiguration", "type": "object" }, "ElastiCachePendingModifiedValues": { "description": "A group of settings that are applied to the cluster in the future, or that are\ncurrently being applied.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NumCacheNodes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Numcachenodes" }, "CacheNodeIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodeidstoremove" }, "EngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engineversion" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "AuthTokenStatus": { "anyOf": [ { "enum": [ "SETTING", "ROTATING" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Authtokenstatus" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/PendingLogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ScaleConfig": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheScaleConfig" }, { "type": "null" } ], "default": null } }, "title": "ElastiCachePendingModifiedValues", "type": "object" }, "ElastiCacheScaleConfig": { "description": "Configuration settings for horizontal or vertical scaling operations on Memcached\nclusters.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ScalePercentage": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scalepercentage" }, "ScaleIntervalMinutes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scaleintervalminutes" } }, "title": "ElastiCacheScaleConfig", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" }, "LogDeliveryConfiguration": { "description": "Returns the destination, format and type of the logs.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" }, "Status": { "anyOf": [ { "enum": [ "active", "enabling", "modifying", "disabling", "error" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "Message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Message" } }, "title": "LogDeliveryConfiguration", "type": "object" }, "PendingLogDeliveryConfiguration": { "description": "The log delivery configurations being modified.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "title": "PendingLogDeliveryConfiguration", "type": "object" }, "SecurityGroupMembership": { "description": "Represents a single cache security group and its status.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SecurityGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Securitygroupid" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } }, "title": "SecurityGroupMembership", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ElasticacheCluster: CacheCluster = None (alias 'CacheCluster')
Contains all of the attributes of a specific cluster.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.DeleteReplicationGroupResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "DeleteReplicationGroupResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ReplicationGroup": { "$ref": "#/$defs/ReplicationGroup", "default": null } }, "$defs": { "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" }, "ElastiCacheGlobalReplicationGroupInfo": { "description": "The name of the Global datastore and role of this replication group in the Global\ndatastore.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "GlobalReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Globalreplicationgroupid" }, "GlobalReplicationGroupMemberRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Globalreplicationgroupmemberrole" } }, "title": "ElastiCacheGlobalReplicationGroupInfo", "type": "object" }, "ElastiCacheSlotMigration": { "description": "Represents the progress of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ProgressPercentage": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Progresspercentage" } }, "title": "ElastiCacheSlotMigration", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" }, "LogDeliveryConfiguration": { "description": "Returns the destination, format and type of the logs.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" }, "Status": { "anyOf": [ { "enum": [ "active", "enabling", "modifying", "disabling", "error" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "Message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Message" } }, "title": "LogDeliveryConfiguration", "type": "object" }, "NodeGroup": { "description": "Represents a collection of cache nodes in a replication group.\n\nOne node in the node group is the read/write primary node. All the other nodes are\nread-only Replica nodes.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NodeGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Nodegroupid" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "PrimaryEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "ReaderEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "Slots": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Slots" }, "NodeGroupMembers": { "anyOf": [ { "items": { "$ref": "#/$defs/NodeGroupMember" }, "type": "array" }, { "type": "null" } ], "title": "Nodegroupmembers" } }, "title": "NodeGroup", "type": "object" }, "NodeGroupMember": { "description": "Represents a single node within a node group (shard).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheclusterid" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "ReadEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "PreferredAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredavailabilityzone" }, "PreferredOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredoutpostarn" }, "CurrentRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Currentrole" } }, "title": "NodeGroupMember", "type": "object" }, "PendingLogDeliveryConfiguration": { "description": "The log delivery configurations being modified.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "title": "PendingLogDeliveryConfiguration", "type": "object" }, "ReplicationGroup": { "description": "Contains all of the attributes of a specific Valkey or Redis OSS replication group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "MemberClusters": { "items": { "type": "string" }, "title": "Memberclusters", "type": "array" }, "MultiAZ": { "anyOf": [ { "enum": [ "enabled", "disabled" ], "type": "string" }, { "type": "null" } ], "title": "Multiaz" }, "ReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Replicationgroupid" }, "Description": { "default": null, "title": "Description", "type": "string" }, "GlobalReplicationGroupInfo": { "$ref": "#/$defs/ElastiCacheGlobalReplicationGroupInfo", "default": null }, "Status": { "default": null, "title": "Status", "type": "string" }, "PendingModifiedValues": { "$ref": "#/$defs/ReplicationGroupPendingModifiedValues", "default": null }, "NodeGroups": { "items": { "$ref": "#/$defs/NodeGroup" }, "title": "Nodegroups", "type": "array" }, "SnapshottingClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshottingclusterid" }, "AutomaticFailover": { "default": null, "enum": [ "enabled", "disabled", "enabling", "disabling" ], "title": "Automaticfailover", "type": "string" }, "ConfigurationEndpoint": { "$ref": "#/$defs/ElastiCacheEndpoint", "default": null }, "SnapshotRetentionLimit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Snapshotretentionlimit" }, "SnapshotWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshotwindow" }, "ClusterEnabled": { "default": null, "title": "Clusterenabled", "type": "boolean" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "AuthTokenEnabled": { "default": null, "title": "Authtokenenabled", "type": "boolean" }, "AuthTokenLastModifiedDate": { "default": null, "format": "date-time", "title": "Authtokenlastmodifieddate", "type": "string" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "AtRestEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Atrestencryptionenabled" }, "MemberClustersOutpostArns": { "items": { "type": "string" }, "title": "Memberclustersoutpostarns", "type": "array" }, "KmsKeyId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Kmskeyid" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "UserGroupIds": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupids" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/LogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "ReplicationGroupCreateTime": { "default": null, "format": "date-time", "title": "Replicationgroupcreatetime", "type": "string" }, "DataTiering": { "default": null, "enum": [ "enabled", "disabled" ], "title": "Datatiering", "type": "string" }, "AutoMinorVersionUpgrade": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Autominorversionupgrade" }, "NetworkType": { "anyOf": [ { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Networktype" }, "IpDiscovery": { "anyOf": [ { "enum": [ "ipv4", "ipv6" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipdiscovery" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ClusterMode": { "anyOf": [ { "enum": [ "enabled", "disabled", "compatible" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Clustermode" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" } }, "required": [ "MultiAZ" ], "title": "ReplicationGroup", "type": "object" }, "ReplicationGroupPendingModifiedValues": { "description": "The settings to be applied to the Valkey or Redis OSS replication group, either\nimmediately or during the next maintenance window.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "PrimaryClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Primaryclusterid" }, "AutomaticFailoverStatus": { "anyOf": [ { "enum": [ "enabled", "disabled" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Automaticfailoverstatus" }, "Resharding": { "anyOf": [ { "$ref": "#/$defs/ReshardingStatus" }, { "type": "null" } ], "default": null }, "AuthTokenStatus": { "anyOf": [ { "enum": [ "SETTING", "ROTATING" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Authtokenstatus" }, "UserGroups": { "anyOf": [ { "$ref": "#/$defs/UserGroupsUpdateStatus" }, { "type": "null" } ], "default": null }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/PendingLogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ClusterMode": { "anyOf": [ { "enum": [ "enabled", "disabled", "compatible" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Clustermode" } }, "title": "ReplicationGroupPendingModifiedValues", "type": "object" }, "ReshardingStatus": { "description": "The status of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SlotMigration": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheSlotMigration" }, { "type": "null" } ], "default": null } }, "title": "ReshardingStatus", "type": "object" }, "UserGroupsUpdateStatus": { "description": "The status of the user group update.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "UserGroupIdsToAdd": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoadd" }, "UserGroupIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoremove" } }, "title": "UserGroupsUpdateStatus", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ElasticacheReplicationGroup: ReplicationGroup = None (alias 'ReplicationGroup')
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.DescribeUserGroupsResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "DescribeUserGroupsResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "UserGroups": { "anyOf": [ { "items": { "$ref": "#/$defs/ElastiCacheUserGroup" }, "type": "array" }, { "type": "null" } ], "title": "Usergroups" }, "Marker": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Marker" } }, "$defs": { "ElastiCacheUserGroup": { "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "active", "title": "Status" }, "UserGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Usergroupid" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" }, "UserIds": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Userids" }, "MinimumEngineVersion": { "default": null, "title": "Minimumengineversion", "type": "string" }, "PendingChanges": { "$ref": "#/$defs/UserGroupPendingChanges", "default": null }, "ReplicationGroups": { "items": { "type": "string" }, "title": "Replicationgroups", "type": "array" }, "ServerlessCaches": { "items": { "type": "string" }, "title": "Serverlesscaches", "type": "array" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "Tags": { "anyOf": [ { "items": { "$ref": "#/$defs/Tag" }, "type": "array" }, { "type": "null" } ], "title": "Tags" } }, "title": "ElastiCacheUserGroup", "type": "object" }, "Tag": { "description": "The metadata that you apply to a resource to help you categorize and\norganize them. Each tag consists of a key and an optional value. You define\nthem.\n\nThe following basic restrictions apply to tags:\n\n* Maximum number of tags per resource - 50\n* For each resource, each tag key must be unique, and each tag key can have\n only one value.\n* Maximum key length - 128 Unicode characters in UTF-8\n* Maximum value length - 256 Unicode characters in UTF-8\n* If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.\n* Tag keys and values are case-sensitive.\n* Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such\n as a prefix for either keys or values as it is reserved for Amazon Web Services\n use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Key" }, "Value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "Tag", "type": "object" }, "UserGroupPendingChanges": { "description": "Returns the updates being applied to the user group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "UserIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Useridstoremove" }, "UserIdsToAdd": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Useridstoadd" } }, "title": "UserGroupPendingChanges", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field Marker: str | None = None
An optional marker returned from a prior request.
Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.>
- field UserGroups: builtins.list[ElastiCacheUserGroup] | None [Optional]
Returns a list of user groups.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.DescribeUsersResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "DescribeUsersResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Users": { "anyOf": [ { "items": { "$ref": "#/$defs/ElastiCacheUser" }, "type": "array" }, { "type": "null" } ], "title": "Users" }, "Marker": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Marker" } }, "$defs": { "ElastiCacheAuthentication": { "description": "Indicates whether the user requires a password to authenticate.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Type": { "anyOf": [ { "enum": [ "password", "no-password", "iam" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Type" }, "PasswordCount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Passwordcount" } }, "title": "ElastiCacheAuthentication", "type": "object" }, "ElastiCacheUser": { "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "active", "title": "Status" }, "UserId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Userid" }, "UserName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Username" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" }, "MinimumEngineVersion": { "default": null, "title": "Minimumengineversion", "type": "string" }, "AccessString": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Accessstring" }, "UserGroupIds": { "items": { "type": "string" }, "title": "Usergroupids", "type": "array" }, "Authentication": { "$ref": "#/$defs/ElastiCacheAuthentication", "default": null }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "Tags": { "anyOf": [ { "items": { "$ref": "#/$defs/Tag" }, "type": "array" }, { "type": "null" } ], "title": "Tags" } }, "title": "ElastiCacheUser", "type": "object" }, "Tag": { "description": "The metadata that you apply to a resource to help you categorize and\norganize them. Each tag consists of a key and an optional value. You define\nthem.\n\nThe following basic restrictions apply to tags:\n\n* Maximum number of tags per resource - 50\n* For each resource, each tag key must be unique, and each tag key can have\n only one value.\n* Maximum key length - 128 Unicode characters in UTF-8\n* Maximum value length - 256 Unicode characters in UTF-8\n* If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.\n* Tag keys and values are case-sensitive.\n* Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such\n as a prefix for either keys or values as it is reserved for Amazon Web Services\n use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Key" }, "Value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "Tag", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field Marker: str | None = None
An optional marker returned from a prior request.
Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords. >
- field Users: builtins.list[ElastiCacheUser] | None [Optional]
A list of users.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.LogDeliveryConfigurationRequest[source]
Bases:
Boto3ModelSpecifies the destination, format and type of the logs.
Show JSON schema
{ "title": "LogDeliveryConfigurationRequest", "description": "Specifies the destination, format and type of the logs.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" }, "Enabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enabled" } }, "$defs": { "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field DestinationDetails: ElastiCacheDestinationDetails | None = None
Configuration details of either a CloudWatch Logs destination or Kinesis Data Firehose destination.
- field DestinationType: Literal['cloudwatch-logs', 'kinesis-firehose'] | None = None
Specify either
cloudwatch-logsorkinesis-firehoseas the destination type.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ModifyCacheClusterResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "ModifyCacheClusterResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheCluster": { "$ref": "#/$defs/CacheCluster", "default": null } }, "$defs": { "CacheCluster": { "description": "Contains all of the attributes of a specific cluster.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroups": { "items": { "$ref": "#/$defs/CacheSecurityGroupMembership" }, "title": "Cachesecuritygroups", "type": "array" }, "NumCacheNodes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": 1, "title": "Numcachenodes" }, "CacheClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheclusterid" }, "ConfigurationEndpoint": { "$ref": "#/$defs/ElastiCacheEndpoint", "default": null }, "ClientDownloadLandingPage": { "default": null, "title": "Clientdownloadlandingpage", "type": "string" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" }, "EngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engineversion" }, "CacheClusterStatus": { "default": null, "title": "Cacheclusterstatus", "type": "string" }, "PreferredAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredavailabilityzone" }, "PreferredOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredoutpostarn" }, "CacheClusterCreateTime": { "default": null, "format": "date-time", "title": "Cacheclustercreatetime", "type": "string" }, "PreferredMaintenanceWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredmaintenancewindow" }, "PendingModifiedValues": { "$ref": "#/$defs/ElastiCachePendingModifiedValues", "default": null }, "NotificationConfiguration": { "$ref": "#/$defs/ElastiCacheNotificationConfiguration", "default": null }, "CacheParameterGroup": { "$ref": "#/$defs/CacheParameterGroupStatus", "default": null }, "CacheSubnetGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupname" }, "CacheNodes": { "items": { "$ref": "#/$defs/CacheNode" }, "title": "Cachenodes", "type": "array" }, "AutoMinorVersionUpgrade": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Autominorversionupgrade" }, "SecurityGroups": { "items": { "$ref": "#/$defs/SecurityGroupMembership" }, "title": "Securitygroups", "type": "array" }, "ReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Replicationgroupid" }, "SnapshotRetentionLimit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Snapshotretentionlimit" }, "SnapshotWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshotwindow" }, "AuthTokenEnabled": { "default": null, "title": "Authtokenenabled", "type": "boolean" }, "AuthTokenLastModifiedDate": { "default": null, "format": "date-time", "title": "Authtokenlastmodifieddate", "type": "string" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "AtRestEncryptionEnabled": { "default": null, "title": "Atrestencryptionenabled", "type": "boolean" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "ReplicationGroupLogDeliveryEnabled": { "default": null, "title": "Replicationgrouplogdeliveryenabled", "type": "boolean" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/LogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "NetworkType": { "anyOf": [ { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Networktype" }, "IpDiscovery": { "anyOf": [ { "enum": [ "ipv4", "ipv6" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipdiscovery" }, "TransitEncryptionMode": { "default": null, "enum": [ "preferred", "required" ], "title": "Transitencryptionmode", "type": "string" } }, "title": "CacheCluster", "type": "object" }, "CacheNode": { "description": "Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-\ncompliant caching software - either Memcached, Valkey or Redis OSS.\n\nThe following node types are supported by ElastiCache. Generally speaking, the current generation types provide more\nmemory and computational power at lower cost when compared to their equivalent previous generation counterparts.\n\n* General purpose:\n\n+ Current generation:\n\n**M7g node types**: ``cache.m7g.large``, ``cache.m7g.xlarge``, ``cache.m7g.2xlarge``, ``cache.m7g.4xlarge``,\n ``cache.m7g.8xlarge``, ``cache.m7g.12xlarge``, ``cache.m7g.16xlarge``\n\nFor region availability, see `Supported Node Types <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.S\nupportedTypes.html#CacheNodes.SupportedTypesByRegion>`_\n\n**M6g node types** (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16\n onward): ``cache.m6g.large``, ``cache.m6g.xlarge``, ``cache.m6g.2xlarge``, ``cache.m6g.4xlarge``, ``cache.m6g.8xlarge``,\n ``cache.m6g.12xlarge``, ``cache.m6g.16xlarge``\n\n**M5 node types:** ``cache.m5.large``, ``cache.m5.xlarge``, ``cache.m5.2xlarge``, ``cache.m5.4xlarge``,\n ``cache.m5.12xlarge``, ``cache.m5.24xlarge``\n\n**M4 node types:** ``cache.m4.large``, ``cache.m4.xlarge``, ``cache.m4.2xlarge``, ``cache.m4.4xlarge``,\n ``cache.m4.10xlarge``\n\n**T4g node types** (available only for Redis OSS engine version 5.0.6 onward and Memcached engine version 1.5.16\n onward): ``cache.t4g.micro``, ``cache.t4g.small``, ``cache.t4g.medium``\n\n**T3 node types:** ``cache.t3.micro``, ``cache.t3.small``, ``cache.t3.medium``\n\n**T2 node types:** ``cache.t2.micro``, ``cache.t2.small``, ``cache.t2.medium``\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**T1 node types:** ``cache.t1.micro``\n\n**M1 node types:** ``cache.m1.small``, ``cache.m1.medium``, ``cache.m1.large``, ``cache.m1.xlarge``\n\n**M3 node types:** ``cache.m3.medium``, ``cache.m3.large``, ``cache.m3.xlarge``, ``cache.m3.2xlarge``\n* Compute optimized:\n\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**C1 node types:** ``cache.c1.xlarge``\n* Memory optimized:\n\n+ Current generation:\n\n**R7g node types**: ``cache.r7g.large``, ``cache.r7g.xlarge``, ``cache.r7g.2xlarge``, ``cache.r7g.4xlarge``,\n ``cache.r7g.8xlarge``, ``cache.r7g.12xlarge``, ``cache.r7g.16xlarge``\n\nFor region availability, see `Supported Node Types <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/CacheNodes.S\nupportedTypes.html#CacheNodes.SupportedTypesByRegion>`_\n\n**R6g node types** (available only for Redis OSS engine version 5.0.6 onward and for Memcached engine version 1.5.16\n onward): ``cache.r6g.large``, ``cache.r6g.xlarge``, ``cache.r6g.2xlarge``, ``cache.r6g.4xlarge``, ``cache.r6g.8xlarge``,\n ``cache.r6g.12xlarge``, ``cache.r6g.16xlarge``\n\n**R5 node types:** ``cache.r5.large``, ``cache.r5.xlarge``, ``cache.r5.2xlarge``, ``cache.r5.4xlarge``,\n ``cache.r5.12xlarge``, ``cache.r5.24xlarge``\n\n**R4 node types:** ``cache.r4.large``, ``cache.r4.xlarge``, ``cache.r4.2xlarge``, ``cache.r4.4xlarge``,\n ``cache.r4.8xlarge``, ``cache.r4.16xlarge``\n+ Previous generation: (not recommended. Existing clusters are still supported but creation of new clusters is not\nsupported for these types.)\n\n**M2 node types:** ``cache.m2.xlarge``, ``cache.m2.2xlarge``, ``cache.m2.4xlarge``\n\n**R3 node types:** ``cache.r3.large``, ``cache.r3.xlarge``, ``cache.r3.2xlarge``, ``cache.r3.4xlarge``,\n ``cache.r3.8xlarge``\n\n**Additional node type info**\n\n* All current generation instance types are created in Amazon VPC by default.\n* Valkey or Redis OSS append-only files (AOF) are not supported for T1 or T2 instances.\n* Valkey or Redis OSS Multi-AZ with automatic failover is not supported on T1 instances.\n* The configuration variables ``appendonly`` and ``appendfsync`` are not supported on Valkey, or on Redis OSS version\n 2.8.22 and later.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "CacheNodeStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodestatus" }, "CacheNodeCreateTime": { "anyOf": [ { "format": "date-time", "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodecreatetime" }, "Endpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "ParameterGroupStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parametergroupstatus" }, "SourceCacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Sourcecachenodeid" }, "CustomerAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Customeravailabilityzone" }, "CustomerOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Customeroutpostarn" } }, "title": "CacheNode", "type": "object" }, "CacheParameterGroupStatus": { "description": "Status of the cache parameter group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheParameterGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheparametergroupname" }, "ParameterApplyStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Parameterapplystatus" }, "CacheNodeIdsToReboot": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodeidstoreboot" } }, "title": "CacheParameterGroupStatus", "type": "object" }, "CacheSecurityGroupMembership": { "description": "Represents a cluster's status within a particular cache security group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesecuritygroupname" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } }, "title": "CacheSecurityGroupMembership", "type": "object" }, "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" }, "ElastiCacheNotificationConfiguration": { "description": "Describes a notification topic and its status.\n\nNotification topics are used for publishing ElastiCache events to subscribers using\nAmazon Simple Notification Service (SNS).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "TopicArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Topicarn" }, "TopicStatus": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Topicstatus" } }, "title": "ElastiCacheNotificationConfiguration", "type": "object" }, "ElastiCachePendingModifiedValues": { "description": "A group of settings that are applied to the cluster in the future, or that are\ncurrently being applied.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NumCacheNodes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Numcachenodes" }, "CacheNodeIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Cachenodeidstoremove" }, "EngineVersion": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engineversion" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "AuthTokenStatus": { "anyOf": [ { "enum": [ "SETTING", "ROTATING" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Authtokenstatus" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/PendingLogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ScaleConfig": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheScaleConfig" }, { "type": "null" } ], "default": null } }, "title": "ElastiCachePendingModifiedValues", "type": "object" }, "ElastiCacheScaleConfig": { "description": "Configuration settings for horizontal or vertical scaling operations on Memcached\nclusters.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ScalePercentage": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scalepercentage" }, "ScaleIntervalMinutes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Scaleintervalminutes" } }, "title": "ElastiCacheScaleConfig", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" }, "LogDeliveryConfiguration": { "description": "Returns the destination, format and type of the logs.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" }, "Status": { "anyOf": [ { "enum": [ "active", "enabling", "modifying", "disabling", "error" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "Message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Message" } }, "title": "LogDeliveryConfiguration", "type": "object" }, "PendingLogDeliveryConfiguration": { "description": "The log delivery configurations being modified.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "title": "PendingLogDeliveryConfiguration", "type": "object" }, "SecurityGroupMembership": { "description": "Represents a single cache security group and its status.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SecurityGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Securitygroupid" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } }, "title": "SecurityGroupMembership", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ElasticacheCluster: CacheCluster = None (alias 'CacheCluster')
Contains all of the attributes of a specific cluster.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ModifyCacheSubnetGroupResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "ModifyCacheSubnetGroupResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSubnetGroup": { "$ref": "#/$defs/CacheSubnetGroup", "default": null } }, "$defs": { "CacheSubnetGroup": { "description": "Represents the output of one of the following operations:\n\n* ``CreateCacheSubnetGroup``\n* ``ModifyCacheSubnetGroup``", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSubnetGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupname" }, "CacheSubnetGroupDescription": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesubnetgroupdescription" }, "VpcId": { "default": null, "title": "Vpcid", "type": "string" }, "Subnets": { "items": { "$ref": "#/$defs/Subnet" }, "title": "Subnets", "type": "array" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "SupportedNetworkTypes": { "items": { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, "title": "Supportednetworktypes", "type": "array" } }, "title": "CacheSubnetGroup", "type": "object" }, "EC2BlockPublicAccessStates": { "description": "The state of VPC Block Public Access (BPA).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "InternetGatewayBlockMode": { "anyOf": [ { "enum": [ "off", "block-bidirectional", "block-ingress" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Internetgatewayblockmode" } }, "title": "EC2BlockPublicAccessStates", "type": "object" }, "EC2PrivateDnsNameOptionsOnLaunch": { "description": "Describes the options for instance hostnames.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "HostnameType": { "anyOf": [ { "enum": [ "ip-name", "resource-name" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Hostnametype" }, "EnableResourceNameDnsARecord": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enableresourcenamednsarecord" }, "EnableResourceNameDnsAAAARecord": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Enableresourcenamednsaaaarecord" } }, "title": "EC2PrivateDnsNameOptionsOnLaunch", "type": "object" }, "Subnet": { "description": "Describes a subnet.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "VpcId": { "title": "Vpcid", "type": "string" }, "AvailabilityZone": { "title": "Availabilityzone", "type": "string" }, "CidrBlock": { "title": "Cidrblock", "type": "string" }, "Ipv6Native": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Ipv6Native" }, "Tags": { "anyOf": [ { "items": { "$ref": "#/$defs/Tag" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "AvailabilityZoneId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Availabilityzoneid" }, "EnableLniAtDeviceIndex": { "default": null, "title": "Enablelniatdeviceindex", "type": "integer" }, "MapCustomerOwnedIpOnLaunch": { "default": null, "title": "Mapcustomerownediponlaunch", "type": "boolean" }, "CustomerOwnedIpv4Pool": { "default": null, "title": "Customerownedipv4Pool", "type": "string" }, "OwnerId": { "default": null, "title": "Ownerid", "type": "string" }, "AssignIpv6AddressOnCreation": { "default": null, "title": "Assignipv6Addressoncreation", "type": "boolean" }, "Ipv6CidrBlockAssociationSet": { "items": { "$ref": "#/$defs/SubnetIpv6CidrBlockAssociation" }, "title": "Ipv6Cidrblockassociationset", "type": "array" }, "SubnetArn": { "default": null, "title": "Subnetarn", "type": "string" }, "OutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Outpostarn" }, "EnableDns64": { "default": null, "title": "Enabledns64", "type": "boolean" }, "PrivateDnsNameOptionsOnLaunch": { "$ref": "#/$defs/EC2PrivateDnsNameOptionsOnLaunch", "default": null }, "BlockPublicAccessStates": { "$ref": "#/$defs/EC2BlockPublicAccessStates", "default": null }, "Type": { "default": null, "title": "Type", "type": "string" }, "SubnetId": { "default": null, "title": "Subnetid", "type": "string" }, "State": { "default": null, "enum": [ "pending", "available", "unavailable", "failed", "failed-insufficient-capacity" ], "title": "State", "type": "string" }, "AvailableIpAddressCount": { "default": null, "title": "Availableipaddresscount", "type": "integer" }, "DefaultForAz": { "default": null, "title": "Defaultforaz", "type": "boolean" }, "MapPublicIpOnLaunch": { "default": null, "title": "Mappubliciponlaunch", "type": "boolean" } }, "required": [ "VpcId", "AvailabilityZone", "CidrBlock" ], "title": "Subnet", "type": "object" }, "SubnetCidrBlockState": { "description": "Describes the state of a CIDR block.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "State": { "anyOf": [ { "enum": [ "associating", "associated", "disassociating", "disassociated", "failing", "failed" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "State" }, "StatusMessage": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Statusmessage" } }, "title": "SubnetCidrBlockState", "type": "object" }, "SubnetIpv6CidrBlockAssociation": { "description": "Describes an association between a subnet and an IPv6 CIDR block.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "AssociationId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Associationid" }, "Ipv6CidrBlock": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipv6Cidrblock" }, "Ipv6CidrBlockState": { "anyOf": [ { "$ref": "#/$defs/SubnetCidrBlockState" }, { "type": "null" } ], "default": null }, "Ipv6AddressAttribute": { "anyOf": [ { "enum": [ "public", "private" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipv6Addressattribute" }, "IpSource": { "anyOf": [ { "enum": [ "amazon", "byoip", "none" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipsource" } }, "title": "SubnetIpv6CidrBlockAssociation", "type": "object" }, "Tag": { "description": "The metadata that you apply to a resource to help you categorize and\norganize them. Each tag consists of a key and an optional value. You define\nthem.\n\nThe following basic restrictions apply to tags:\n\n* Maximum number of tags per resource - 50\n* For each resource, each tag key must be unique, and each tag key can have\n only one value.\n* Maximum key length - 128 Unicode characters in UTF-8\n* Maximum value length - 256 Unicode characters in UTF-8\n* If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.\n* Tag keys and values are case-sensitive.\n* Do not use ``aws:``, ``AWS:``, or any upper or lowercase combination of such\n as a prefix for either keys or values as it is reserved for Amazon Web Services\n use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Key" }, "Value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value" } }, "title": "Tag", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ElasticacheSubnetGroup: CacheSubnetGroup = None (alias 'CacheSubnetGroup')
Represents the output of one of the following operations:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ModifyReplicationGroupResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "ModifyReplicationGroupResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ReplicationGroup": { "$ref": "#/$defs/ReplicationGroup", "default": null } }, "$defs": { "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" }, "ElastiCacheGlobalReplicationGroupInfo": { "description": "The name of the Global datastore and role of this replication group in the Global\ndatastore.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "GlobalReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Globalreplicationgroupid" }, "GlobalReplicationGroupMemberRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Globalreplicationgroupmemberrole" } }, "title": "ElastiCacheGlobalReplicationGroupInfo", "type": "object" }, "ElastiCacheSlotMigration": { "description": "Represents the progress of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ProgressPercentage": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Progresspercentage" } }, "title": "ElastiCacheSlotMigration", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" }, "LogDeliveryConfiguration": { "description": "Returns the destination, format and type of the logs.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" }, "Status": { "anyOf": [ { "enum": [ "active", "enabling", "modifying", "disabling", "error" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "Message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Message" } }, "title": "LogDeliveryConfiguration", "type": "object" }, "NodeGroup": { "description": "Represents a collection of cache nodes in a replication group.\n\nOne node in the node group is the read/write primary node. All the other nodes are\nread-only Replica nodes.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NodeGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Nodegroupid" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "PrimaryEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "ReaderEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "Slots": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Slots" }, "NodeGroupMembers": { "anyOf": [ { "items": { "$ref": "#/$defs/NodeGroupMember" }, "type": "array" }, { "type": "null" } ], "title": "Nodegroupmembers" } }, "title": "NodeGroup", "type": "object" }, "NodeGroupMember": { "description": "Represents a single node within a node group (shard).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheclusterid" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "ReadEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "PreferredAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredavailabilityzone" }, "PreferredOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredoutpostarn" }, "CurrentRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Currentrole" } }, "title": "NodeGroupMember", "type": "object" }, "PendingLogDeliveryConfiguration": { "description": "The log delivery configurations being modified.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "title": "PendingLogDeliveryConfiguration", "type": "object" }, "ReplicationGroup": { "description": "Contains all of the attributes of a specific Valkey or Redis OSS replication group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "MemberClusters": { "items": { "type": "string" }, "title": "Memberclusters", "type": "array" }, "MultiAZ": { "anyOf": [ { "enum": [ "enabled", "disabled" ], "type": "string" }, { "type": "null" } ], "title": "Multiaz" }, "ReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Replicationgroupid" }, "Description": { "default": null, "title": "Description", "type": "string" }, "GlobalReplicationGroupInfo": { "$ref": "#/$defs/ElastiCacheGlobalReplicationGroupInfo", "default": null }, "Status": { "default": null, "title": "Status", "type": "string" }, "PendingModifiedValues": { "$ref": "#/$defs/ReplicationGroupPendingModifiedValues", "default": null }, "NodeGroups": { "items": { "$ref": "#/$defs/NodeGroup" }, "title": "Nodegroups", "type": "array" }, "SnapshottingClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshottingclusterid" }, "AutomaticFailover": { "default": null, "enum": [ "enabled", "disabled", "enabling", "disabling" ], "title": "Automaticfailover", "type": "string" }, "ConfigurationEndpoint": { "$ref": "#/$defs/ElastiCacheEndpoint", "default": null }, "SnapshotRetentionLimit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Snapshotretentionlimit" }, "SnapshotWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshotwindow" }, "ClusterEnabled": { "default": null, "title": "Clusterenabled", "type": "boolean" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "AuthTokenEnabled": { "default": null, "title": "Authtokenenabled", "type": "boolean" }, "AuthTokenLastModifiedDate": { "default": null, "format": "date-time", "title": "Authtokenlastmodifieddate", "type": "string" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "AtRestEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Atrestencryptionenabled" }, "MemberClustersOutpostArns": { "items": { "type": "string" }, "title": "Memberclustersoutpostarns", "type": "array" }, "KmsKeyId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Kmskeyid" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "UserGroupIds": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupids" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/LogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "ReplicationGroupCreateTime": { "default": null, "format": "date-time", "title": "Replicationgroupcreatetime", "type": "string" }, "DataTiering": { "default": null, "enum": [ "enabled", "disabled" ], "title": "Datatiering", "type": "string" }, "AutoMinorVersionUpgrade": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Autominorversionupgrade" }, "NetworkType": { "anyOf": [ { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Networktype" }, "IpDiscovery": { "anyOf": [ { "enum": [ "ipv4", "ipv6" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipdiscovery" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ClusterMode": { "anyOf": [ { "enum": [ "enabled", "disabled", "compatible" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Clustermode" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" } }, "required": [ "MultiAZ" ], "title": "ReplicationGroup", "type": "object" }, "ReplicationGroupPendingModifiedValues": { "description": "The settings to be applied to the Valkey or Redis OSS replication group, either\nimmediately or during the next maintenance window.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "PrimaryClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Primaryclusterid" }, "AutomaticFailoverStatus": { "anyOf": [ { "enum": [ "enabled", "disabled" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Automaticfailoverstatus" }, "Resharding": { "anyOf": [ { "$ref": "#/$defs/ReshardingStatus" }, { "type": "null" } ], "default": null }, "AuthTokenStatus": { "anyOf": [ { "enum": [ "SETTING", "ROTATING" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Authtokenstatus" }, "UserGroups": { "anyOf": [ { "$ref": "#/$defs/UserGroupsUpdateStatus" }, { "type": "null" } ], "default": null }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/PendingLogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ClusterMode": { "anyOf": [ { "enum": [ "enabled", "disabled", "compatible" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Clustermode" } }, "title": "ReplicationGroupPendingModifiedValues", "type": "object" }, "ReshardingStatus": { "description": "The status of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SlotMigration": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheSlotMigration" }, { "type": "null" } ], "default": null } }, "title": "ReshardingStatus", "type": "object" }, "UserGroupsUpdateStatus": { "description": "The status of the user group update.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "UserGroupIdsToAdd": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoadd" }, "UserGroupIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoremove" } }, "title": "UserGroupsUpdateStatus", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ElasticacheReplicationGroup: ReplicationGroup = None (alias 'ReplicationGroup')
Contains all of the attributes of a specific Valkey or Redis OSS replication group.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.NodeGroupConfiguration[source]
Bases:
Boto3ModelNode group (shard) configuration options.
Each node group (shard) configuration has the following:
Slots,PrimaryAvailabilityZone,ReplicaAvailabilityZones,ReplicaCount.Show JSON schema
{ "title": "NodeGroupConfiguration", "description": "Node group (shard) configuration options.\n\nEach node group (shard) configuration has the following: ``Slots``,\n``PrimaryAvailabilityZone``, ``ReplicaAvailabilityZones``, ``ReplicaCount``.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NodeGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Nodegroupid" }, "Slots": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Slots" }, "ReplicaCount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Replicacount" }, "PrimaryAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Primaryavailabilityzone" }, "ReplicaAvailabilityZones": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Replicaavailabilityzones" }, "PrimaryOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Primaryoutpostarn" }, "ReplicaOutpostArns": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Replicaoutpostarns" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field NodeGroupId: str | None = None
Either the ElastiCache supplied 4-digit id or a user supplied id for the node group these configuration values apply to.
- field PrimaryAvailabilityZone: str | None = None
The Availability Zone where the primary node of this node group (shard) is launched.
- field ReplicaAvailabilityZones: builtins.list[str] | None [Optional]
A list of Availability Zones to be used for the read replicas.
The number of Availability Zones in this list must match the value of
ReplicaCountorReplicasPerNodeGroupif not specified.
- field ReplicaOutpostArns: builtins.list[str] | None [Optional]
The outpost ARN of the node replicas.
- field Slots: str | None = None
A string that specifies the keyspace for a particular node group.
Keyspaces range from 0 to 16,383. The string is in the format
startkey-endkey.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.ReplicationGroupMessage[source]
Bases:
Boto3ModelRepresents the output of a
DescribeReplicationGroupsoperation.Show JSON schema
{ "title": "ReplicationGroupMessage", "description": "Represents the output of a ``DescribeReplicationGroups`` operation.", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Marker": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Marker" }, "ReplicationGroups": { "anyOf": [ { "items": { "$ref": "#/$defs/ReplicationGroup" }, "type": "array" }, { "type": "null" } ], "title": "Replicationgroups" } }, "$defs": { "CloudWatchLogsDestinationDetails": { "description": "The configuration details of the CloudWatch Logs destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogGroup": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Loggroup" } }, "title": "CloudWatchLogsDestinationDetails", "type": "object" }, "ElastiCacheDestinationDetails": { "description": "Configuration details of either a CloudWatch Logs destination or Kinesis Data\nFirehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CloudWatchLogsDetails": { "anyOf": [ { "$ref": "#/$defs/CloudWatchLogsDestinationDetails" }, { "type": "null" } ], "default": null }, "KinesisFirehoseDetails": { "anyOf": [ { "$ref": "#/$defs/KinesisFirehoseDestinationDetails" }, { "type": "null" } ], "default": null } }, "title": "ElastiCacheDestinationDetails", "type": "object" }, "ElastiCacheEndpoint": { "description": "Represents the information required for client programs to connect to a cache node.\n\nThis value is read-only.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Address" }, "Port": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Port" } }, "title": "ElastiCacheEndpoint", "type": "object" }, "ElastiCacheGlobalReplicationGroupInfo": { "description": "The name of the Global datastore and role of this replication group in the Global\ndatastore.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "GlobalReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Globalreplicationgroupid" }, "GlobalReplicationGroupMemberRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Globalreplicationgroupmemberrole" } }, "title": "ElastiCacheGlobalReplicationGroupInfo", "type": "object" }, "ElastiCacheSlotMigration": { "description": "Represents the progress of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "ProgressPercentage": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Progresspercentage" } }, "title": "ElastiCacheSlotMigration", "type": "object" }, "KinesisFirehoseDestinationDetails": { "description": "The configuration details of the Kinesis Data Firehose destination.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "DeliveryStream": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Deliverystream" } }, "title": "KinesisFirehoseDestinationDetails", "type": "object" }, "LogDeliveryConfiguration": { "description": "Returns the destination, format and type of the logs.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" }, "Status": { "anyOf": [ { "enum": [ "active", "enabling", "modifying", "disabling", "error" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "Message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Message" } }, "title": "LogDeliveryConfiguration", "type": "object" }, "NodeGroup": { "description": "Represents a collection of cache nodes in a replication group.\n\nOne node in the node group is the read/write primary node. All the other nodes are\nread-only Replica nodes.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "NodeGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Nodegroupid" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "PrimaryEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "ReaderEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "Slots": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Slots" }, "NodeGroupMembers": { "anyOf": [ { "items": { "$ref": "#/$defs/NodeGroupMember" }, "type": "array" }, { "type": "null" } ], "title": "Nodegroupmembers" } }, "title": "NodeGroup", "type": "object" }, "NodeGroupMember": { "description": "Represents a single node within a node group (shard).", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cacheclusterid" }, "CacheNodeId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodeid" }, "ReadEndpoint": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheEndpoint" }, { "type": "null" } ], "default": null }, "PreferredAvailabilityZone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredavailabilityzone" }, "PreferredOutpostArn": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Preferredoutpostarn" }, "CurrentRole": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Currentrole" } }, "title": "NodeGroupMember", "type": "object" }, "PendingLogDeliveryConfiguration": { "description": "The log delivery configurations being modified.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "LogType": { "anyOf": [ { "enum": [ "slow-log", "engine-log" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logtype" }, "DestinationType": { "anyOf": [ { "enum": [ "cloudwatch-logs", "kinesis-firehose" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Destinationtype" }, "DestinationDetails": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheDestinationDetails" }, { "type": "null" } ], "default": null }, "LogFormat": { "anyOf": [ { "enum": [ "text", "json" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Logformat" } }, "title": "PendingLogDeliveryConfiguration", "type": "object" }, "ReplicationGroup": { "description": "Contains all of the attributes of a specific Valkey or Redis OSS replication group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "MemberClusters": { "items": { "type": "string" }, "title": "Memberclusters", "type": "array" }, "MultiAZ": { "anyOf": [ { "enum": [ "enabled", "disabled" ], "type": "string" }, { "type": "null" } ], "title": "Multiaz" }, "ReplicationGroupId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Replicationgroupid" }, "Description": { "default": null, "title": "Description", "type": "string" }, "GlobalReplicationGroupInfo": { "$ref": "#/$defs/ElastiCacheGlobalReplicationGroupInfo", "default": null }, "Status": { "default": null, "title": "Status", "type": "string" }, "PendingModifiedValues": { "$ref": "#/$defs/ReplicationGroupPendingModifiedValues", "default": null }, "NodeGroups": { "items": { "$ref": "#/$defs/NodeGroup" }, "title": "Nodegroups", "type": "array" }, "SnapshottingClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshottingclusterid" }, "AutomaticFailover": { "default": null, "enum": [ "enabled", "disabled", "enabling", "disabling" ], "title": "Automaticfailover", "type": "string" }, "ConfigurationEndpoint": { "$ref": "#/$defs/ElastiCacheEndpoint", "default": null }, "SnapshotRetentionLimit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Snapshotretentionlimit" }, "SnapshotWindow": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Snapshotwindow" }, "ClusterEnabled": { "default": null, "title": "Clusterenabled", "type": "boolean" }, "CacheNodeType": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachenodetype" }, "AuthTokenEnabled": { "default": null, "title": "Authtokenenabled", "type": "boolean" }, "AuthTokenLastModifiedDate": { "default": null, "format": "date-time", "title": "Authtokenlastmodifieddate", "type": "string" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "AtRestEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Atrestencryptionenabled" }, "MemberClustersOutpostArns": { "items": { "type": "string" }, "title": "Memberclustersoutpostarns", "type": "array" }, "KmsKeyId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Kmskeyid" }, "ARN": { "default": null, "title": "Arn", "type": "string" }, "UserGroupIds": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupids" }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/LogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "ReplicationGroupCreateTime": { "default": null, "format": "date-time", "title": "Replicationgroupcreatetime", "type": "string" }, "DataTiering": { "default": null, "enum": [ "enabled", "disabled" ], "title": "Datatiering", "type": "string" }, "AutoMinorVersionUpgrade": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Autominorversionupgrade" }, "NetworkType": { "anyOf": [ { "enum": [ "ipv4", "ipv6", "dual_stack" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Networktype" }, "IpDiscovery": { "anyOf": [ { "enum": [ "ipv4", "ipv6" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Ipdiscovery" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ClusterMode": { "anyOf": [ { "enum": [ "enabled", "disabled", "compatible" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Clustermode" }, "Engine": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Engine" } }, "required": [ "MultiAZ" ], "title": "ReplicationGroup", "type": "object" }, "ReplicationGroupPendingModifiedValues": { "description": "The settings to be applied to the Valkey or Redis OSS replication group, either\nimmediately or during the next maintenance window.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "PrimaryClusterId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Primaryclusterid" }, "AutomaticFailoverStatus": { "anyOf": [ { "enum": [ "enabled", "disabled" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Automaticfailoverstatus" }, "Resharding": { "anyOf": [ { "$ref": "#/$defs/ReshardingStatus" }, { "type": "null" } ], "default": null }, "AuthTokenStatus": { "anyOf": [ { "enum": [ "SETTING", "ROTATING" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Authtokenstatus" }, "UserGroups": { "anyOf": [ { "$ref": "#/$defs/UserGroupsUpdateStatus" }, { "type": "null" } ], "default": null }, "LogDeliveryConfigurations": { "anyOf": [ { "items": { "$ref": "#/$defs/PendingLogDeliveryConfiguration" }, "type": "array" }, { "type": "null" } ], "title": "Logdeliveryconfigurations" }, "TransitEncryptionEnabled": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Transitencryptionenabled" }, "TransitEncryptionMode": { "anyOf": [ { "enum": [ "preferred", "required" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Transitencryptionmode" }, "ClusterMode": { "anyOf": [ { "enum": [ "enabled", "disabled", "compatible" ], "type": "string" }, { "type": "null" } ], "default": null, "title": "Clustermode" } }, "title": "ReplicationGroupPendingModifiedValues", "type": "object" }, "ReshardingStatus": { "description": "The status of an online resharding operation.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "SlotMigration": { "anyOf": [ { "$ref": "#/$defs/ElastiCacheSlotMigration" }, { "type": "null" } ], "default": null } }, "title": "ReshardingStatus", "type": "object" }, "UserGroupsUpdateStatus": { "description": "The status of the user group update.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "UserGroupIdsToAdd": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoadd" }, "UserGroupIdsToRemove": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Usergroupidstoremove" } }, "title": "UserGroupsUpdateStatus", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ReplicationGroups: builtins.list[ReplicationGroup] | None [Optional]
A list of replication groups.
Each item in the list contains detailed information about one replication group.
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.
- pydantic model botocraft.services.elasticache.RevokeCacheSecurityGroupIngressResult[source]
Bases:
Boto3ModelShow JSON schema
{ "title": "RevokeCacheSecurityGroupIngressResult", "type": "object", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "CacheSecurityGroup": { "$ref": "#/$defs/CacheSecurityGroup", "default": null } }, "$defs": { "CacheSecurityGroup": { "description": "Represents the output of one of the following operations:\n\n* ``AuthorizeCacheSecurityGroupIngress``\n* ``CreateCacheSecurityGroup``\n* ``RevokeCacheSecurityGroupIngress``", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "OwnerId": { "default": null, "title": "Ownerid", "type": "string" }, "CacheSecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cachesecuritygroupname" }, "Description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "EC2SecurityGroups": { "items": { "$ref": "#/$defs/EC2SecurityGroup" }, "title": "Ec2Securitygroups", "type": "array" }, "ARN": { "default": null, "title": "Arn", "type": "string" } }, "title": "CacheSecurityGroup", "type": "object" }, "EC2SecurityGroup": { "description": "Provides ownership and status information for an Amazon EC2 security group.", "properties": { "session": { "anyOf": [ {}, { "type": "null" } ], "default": null, "title": "Session" }, "Status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "EC2SecurityGroupName": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Securitygroupname" }, "EC2SecurityGroupOwnerId": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Ec2Securitygroupownerid" } }, "title": "EC2SecurityGroup", "type": "object" } } }
- Config:
validate_assignment: bool = True
arbitrary_types_allowed: bool = True
- Fields:
- field ElasticacheSecurityGroup: CacheSecurityGroup = None (alias 'CacheSecurityGroup')
Represents the output of one of the following operations:
- field session: Any | None = None
The boto3 session to use for this model. This is set by the manager, and is used in relationships. We have to use
Anyhere because we pydantic complains vociferously if we useboto3.session.Session. We exclude it from the model dump because it’s not something that should be serialized.
- classmethod model_construct(_fields_set: set[str] | None = None, **values: Any) Self
Creates a new instance of the Model class with validated data.
Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.
- !!! note
model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == ‘allow’, then all extra passed values are added to the model instance’s __dict__ and __pydantic_extra__ fields. If model_config.extra == ‘ignore’ (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == ‘forbid’ does not result in an error if extra values are passed, but they will be ignored.
- Parameters:
_fields_set – A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used.
values – Trusted or pre-validated data dictionary.
- Returns:
A new instance of the Model class with validated data.
- classmethod model_validate_strings(obj: Any, *, strict: bool | None = None, context: Any | None = None, by_alias: bool | None = None, by_name: bool | None = None) Self
Validate the given object with string data against the Pydantic model.
- Parameters:
obj – The object containing string data to validate.
strict – Whether to enforce types strictly.
context – Extra variables to pass to the validator.
by_alias – Whether to use the field’s alias when validating against the provided input data.
by_name – Whether to use the field’s name when validating against the provided input data.
- Returns:
The validated Pydantic model.
- set_session(session: Session) None
Set the boto3 session for this model.
- Parameters:
session – The boto3 session to use.
- Returns:
The model instance.
- transform(attribute: str, transformer: str | None) Any
Transform an attribute using a regular expression into something else before it is returned.
Important
This only makes sense for attributes that are strings.
transformeris a regular expression that will be used to transform the value of the attribute.If the attribute is
None, it will be returned verbatim.If
transformerisNone, the attribute will be returned verbatim.If
transformerhas no named groups, the attribute will be replaced with the value of the first group.If
transformerhas named groups, the attribute will be replaced with a dictionary of the named groups.
- Raises:
ValueError – If the attribute does not exist on the model.
RuntimeError – If the transformer fails to match the attribute value.
- Parameters:
attribute – The attribute to transform.
transformer – The regular expression to use to transform the attribute.
- Returns:
The transformed attribute.