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, PrimaryBoto3Model

Contains 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:
field ARN: str = None

The ARN (Amazon Resource Name) of the cache cluster.

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 AuthTokenLastModifiedDate: datetime = None

The date the auth token was last modified.

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 CacheClusterCreateTime: datetime = None

The date and time when the cluster was created.

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, or snapshotting.

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 .cfg in it.

field Engine: str | None = None

The name of the cache engine (memcached or redis) 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 NumCacheNodes: int | None = 1

The number of cache nodes in the cluster.

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 SnapshotRetentionLimit to 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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 ARN attribute.

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 CacheNodes property to get the hostnames of the other nodes.

property name: str | None

Return the name of the model. This is the value of the CacheClusterId attribute.

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 ARN attribute.

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 CacheNodes property to get the ports of the other nodes.

property security_groups: PrimaryBoto3ModelQuerySet

List all the CacheCluster objects 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.

property tags: dict[str, str]

Get the tags for the cache cluster.

This is a dictionary of key/value pairs, where the key is the tag name and the value is the tag value

pydantic model botocraft.services.elasticache.CacheParameter[source]

Bases: ReadonlyPrimaryBoto3Model

Describes 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 AllowedValues: str | None = None

The valid range of values for the 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 DataType: str | None = None

The valid data type for the parameter.

field Description: str | None = None

A description of the parameter.

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 ParameterName: str | None = None

The name of the parameter.

field ParameterValue: str | None = None

The value of the parameter.

field Source: str | None = None

The source of the parameter.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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 ParameterName attribute.

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 ParameterName attribute.

Returns:

The primary key of the model instance.

pydantic model botocraft.services.elasticache.CacheParameterGroup[source]

Bases: PrimaryBoto3Model

Represents the output of a CreateCacheParameterGroup operation.

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 ARN: str = None

The ARN (Amazon Resource Name) of the cache parameter group.

field CacheParameterGroupFamily: str | None = None

The name of the cache parameter group family that this cache parameter group is compatible with.

field CacheParameterGroupName: str | None = None

The name of the cache parameter group.

field Description: str | None = None

The description for this cache parameter group.

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 Any here because we pydantic complains vociferously if we use boto3.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. If false, only the parameters listed by ParameterNameValues are reset to their default values.

  • ParameterNameValues – An array of parameter names to reset to their default values. If ResetAllParameters is true, do not use ParameterNameValues. If ResetAllParameters is false, 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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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 ARN attribute.

Returns:

The ARN of the model instance.

property name: str | None

Return the name of the model. This is the value of the CacheParameterGroupName attribute.

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 ARN attribute.

Returns:

The primary key of the model instance.

pydantic model botocraft.services.elasticache.CacheSecurityGroup[source]

Bases: PrimaryBoto3Model

Represents the output of one of the following operations:

  • AuthorizeCacheSecurityGroupIngress

  • CreateCacheSecurityGroup

  • RevokeCacheSecurityGroupIngress

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 ARN: str = None

The ARN of the cache security group,

field CacheSecurityGroupName: str | None = None

The name of the cache security group.

field Description: str | None = None

The description of the cache security group.

field EC2SecurityGroups: builtins.list[EC2SecurityGroup] [Optional]

A list of Amazon EC2 security groups that are associated with this cache security group.

field OwnerId: str = None

The Amazon account ID of the cache 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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 ARN attribute.

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 CacheSecurityGroupName attribute.

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 ARN attribute.

Returns:

The primary key of the model instance.

pydantic model botocraft.services.elasticache.CacheSubnetGroup[source]

Bases: PrimaryBoto3Model

Represents the output of one of the following operations:

  • CreateCacheSubnetGroup

  • ModifyCacheSubnetGroup

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 ARN: str = None

The ARN (Amazon Resource Name) of the cache subnet group.

field CacheSubnetGroupDescription: str | None = None

The description of the cache subnet group.

field CacheSubnetGroupName: str | None = None

The name of the cache subnet group.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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 ARN attribute.

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 CacheSubnetGroupName attribute.

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 ARN attribute.

Returns:

The primary key of the model instance.

pydantic model botocraft.services.elasticache.ElastiCacheUser[source]

Bases: TagsDictMixin, PrimaryBoto3Model

Show 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 ARN: str = None

The Amazon Resource Name (ARN) of the user.

field AccessString: str | None = None

Access permissions string used for this user.

field Authentication: ElastiCacheAuthentication = None

Denotes whether the user requires a password to authenticate.

field Engine: str | None = None

The options are valkey or redis.

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 Tags: builtins.list[Tag] | None [Optional]

The tags associated with the user.

field UserGroupIds: builtins.list[str] [Optional]

Returns a list of the user group IDs the user belongs to.

field UserId: str | None = None

The ID of the user.

field UserName: str | None = None

The username of the user.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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 ARN attribute.

Returns:

The ARN of the model instance.

property name: str | None

Return the name of the model. This is the value of the UserId attribute.

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 ARN attribute.

Returns:

The primary key of the model instance.

property tags: TagsDict

Get the tags for the model instance.

Returns:

The tags for the model instance.

pydantic model botocraft.services.elasticache.ElastiCacheUserGroup[source]

Bases: TagsDictMixin, PrimaryBoto3Model

Show 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 ARN: str = None

The Amazon Resource Name (ARN) of the user group.

field Engine: str | None = None

The options are valkey or redis.

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 Tags: builtins.list[Tag] | None [Optional]

The tags associated with the user group.

field UserGroupId: str | None = None

The ID of the user group.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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 ARN attribute.

Returns:

The ARN of the model instance.

property name: str | None

Return the name of the model. This is the value of the UserGroupId attribute.

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 ARN attribute.

Returns:

The primary key of the model instance.

property tags: TagsDict

Get the tags for the model instance.

Returns:

The tags for the model instance.

pydantic model botocraft.services.elasticache.ReplicationGroup[source]

Bases: ReplicationGroupModelMixin, PrimaryBoto3Model

Contains 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:
field ARN: str = None

The ARN (Amazon Resource Name) of the replication group.

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 AuthTokenLastModifiedDate: datetime = None

The date the auth token was last modified.

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 Description: str = None

The user supplied description of the replication group.

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 KmsKeyId: str | None = None

The ID of the KMS key used to encrypt the disk in the cluster.

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 ReplicationGroupCreateTime: datetime = None

The date and time when the cluster was created.

field ReplicationGroupId: str | None = None

The identifier for the replication group.

field SnapshotRetentionLimit: int | None = None

The number of days for which ElastiCache retains automatic cluster snapshots before deleting them.

For example, if you set SnapshotRetentionLimit to 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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 ARN attribute.

Returns:

The ARN of the model instance.

property clusters: PrimaryBoto3ModelQuerySet

List all the CacheCluster objects 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 hostname: str

The hostname of the cache cluster.

property name: str | None

Return the name of the model. This is the value of the ReplicationGroupId attribute.

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 ARN attribute.

Returns:

The primary key of the model instance.

property port: int

The port of the cache cluster.

property tags: dict[str, str]

Get the tags for the replication group.

This is a dictionary of key/value pairs, where the key is the tag name and the value is the tag value

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 CacheCluster to 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 restoring while 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.

  • AuthTokenReserved 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. DeleteCacheCluster deletes 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 DescribeCacheCluster request to retrieve information about the individual cache nodes.

  • ShowCacheClustersNotInReplicationGroups – An optional flag that can be included in the DescribeCacheCluster request 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 DescribeCacheCluster request to retrieve information about the individual cache nodes.

  • ShowCacheClustersNotInReplicationGroups – An optional flag that can be included in the DescribeCacheCluster request 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 CacheCluster to 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 NumCacheNodes is 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 of NumCacheNodes in 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 ApplyImmediately parameter is specified as true for 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 the PreferredMaintenanceWindow setting for the cluster.

  • AuthToken – Reserved parameter. The password used to access a password protected server. This parameter must be specified with the auth-token-update parameter. Password constraints:

  • AuthTokenUpdateStrategy – Specifies the strategy to use to update the AUTH token. This parameter must be specified with the auth-token parameter. Possible values:

  • ScaleConfig – Configures horizontal or vertical scaling for Memcached clusters, specifying the scaling percentage and interval.

service_name: str = 'elasticache'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

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 CacheParameterGroup to 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 ResetAllParameters and CacheParameterGroupName parameters.

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. If false, only the parameters listed by ParameterNameValues are reset to their default values.

  • ParameterNameValues – An array of parameter names to reset to their default values. If ResetAllParameters is true, do not use ParameterNameValues. If ResetAllParameters is false, 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 CacheParameterGroup to update.

service_name: str = 'elasticache'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

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.

service_name: str = 'elasticache'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

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 CacheSecurityGroup to 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.

service_name: str = 'elasticache'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

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 CacheSubnetGroup to 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 CacheSubnetGroup to update.

Keyword Arguments:

SubnetIds – The EC2 subnet IDs for the cache subnet group.

service_name: str = 'elasticache'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

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 UserGroup to 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 UserGroup to 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.

service_name: str = 'elasticache'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

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 User to 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 User to 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.

service_name: str = 'elasticache'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

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 ReplicationGroup to 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, and Slots.

  • 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 DescribeCacheEngineVersions operation.

  • 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 restoring while 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.

  • AuthTokenReserved 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, DescribeReplicationGroups returns 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, DescribeReplicationGroups returns 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 ReplicationGroup to 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 ApplyImmediately parameter is specified as true for 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 the PreferredMaintenanceWindow setting 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-strategy parameter. Password constraints:

  • AuthTokenUpdateStrategy – Specifies the strategy to use to update the AUTH token. This parameter must be specified with the auth-token parameter. 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.

service_name: str = 'elasticache'

ec2, s3, etc.

Type:

The name of the boto3 service. Example

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: Boto3Model

Represents 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.medium

T2 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.micro

M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

M3 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 appendonly and appendfsync are 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, or deleting.

field CustomerAvailabilityZone: str | None = None

The Availability Zone where this node was created and now resides.

field CustomerOutpostArn: str | None = None

The customer outpost ARN of the cache node.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Status 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 CacheParameterGroupName: str | None = None

The name of the cache parameter group.

field ParameterApplyStatus: str | None = None

The status of parameter updates.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents 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 CacheSecurityGroupName: str | None = None

The name of the cache security group.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

The 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 LogGroup: str | None = None

The name of the CloudWatch Logs log 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Provides 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 EC2SecurityGroupName: str | None = None

The name of the Amazon EC2 security group.

field EC2SecurityGroupOwnerId: str | None = None

The Amazon account ID of the Amazon EC2 security group owner.

field Status: str | None = None

The status of the Amazon EC2 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Indicates 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Configuration 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents 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 Address: str | None = None

The DNS hostname of the cache node.

field Port: int | None = None

The port number that the cache engine is listening on.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

The 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 GlobalReplicationGroupId: str | None = None

The name of the Global datastore.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Describes 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 TopicArn: str | None = None

The Amazon Resource Name (ARN) that identifies the topic.

field TopicStatus: str | None = None

The current state of the topic.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

A 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 AuthTokenStatus: Literal['SETTING', 'ROTATING'] | None = None

The auth token status.

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 EngineVersion: str | None = None

The new cache engine version that the cluster runs.

field LogDeliveryConfigurations: builtins.list[PendingLogDeliveryConfiguration] | None [Optional]

The log delivery configurations being modified.

field NumCacheNodes: int | None = None

The new number of cache nodes for the cluster.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Configuration 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

The 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 DeliveryStream: str | None = None

The name of the Kinesis Data Firehose delivery stream.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Returns 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-logs or kinesis-firehose.

field LogFormat: Literal['text', 'json'] | None = None

Returns the log format, either JSON or TEXT.

field LogType: Literal['slow-log', 'engine-log'] | None = None

Refers to slow-log or engine-log.

field Message: str | None = None

Returns an error message for the log delivery configuration.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents 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 Slots: str | None = None

The keyspace for this node group (shard).

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents 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 CacheClusterId: str | None = None

The ID of the cluster to which the node belongs.

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 - primary or replica. 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 PreferredOutpostArn: str | None = None

The outpost ARN of the node group member.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Describes 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 ParameterName: str | None = None

The name of the parameter.

field ParameterValue: str | None = None

The value of the parameter.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

The 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 LogType: Literal['slow-log', 'engine-log'] | None = None

Refers to slow-log or engine-log..

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

The 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:
field AuthTokenStatus: Literal['SETTING', 'ROTATING'] | None = None

The auth token status.

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-immediately was 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

The 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents 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 SecurityGroupId: str | None = None

The identifier of the cache security group.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Returns 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 UserIdsToAdd: builtins.list[str] | None [Optional]

The list of user IDs to add.

field UserIdsToRemove: builtins.list[str] | None [Optional]

The list of user IDs 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

The 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 UserGroupIdsToAdd: builtins.list[str] | None [Optional]

The ID of the user group to add.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Specifies 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 Type is set to password.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents the output of a DescribeCacheClusters operation.

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 Marker: str | None = None

Provides an identifier to allow retrieval of paginated results.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

A 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.large cache node type would have a larger maxmemory value than a cache.m1.small type.

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 AllowedValues: str | None = None

The valid range of values for the parameter.

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 DataType: str | None = None

The valid data type for the parameter.

field Description: str | None = None

A description of the parameter.

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 ParameterName: str | None = None

The name of the parameter.

field Source: str | None = None

The source of the parameter value.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

A 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 CacheNodeType: str | None = None

The cache node type for which this value applies.

field Value: str | None = None

The value for the cache node 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents the output of a DescribeCacheParameters operation.

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 Marker: str | None = None

Provides an identifier to allow retrieval of paginated results.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents the output of one of the following operations:

  • ModifyCacheParameterGroup

  • ResetCacheParameterGroup

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 CacheParameterGroupName: str | None = None

The name of the 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents the output of a DescribeCacheParameterGroups operation.

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 Marker: str | None = None

Provides an identifier to allow retrieval of paginated results.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents the output of a DescribeCacheSecurityGroups operation.

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 Marker: str | None = None

Provides an identifier to allow retrieval of paginated results.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents the output of a DescribeCacheSubnetGroups operation.

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 Marker: str | None = None

Provides an identifier to allow retrieval of paginated results.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 CreateCacheParameterGroup 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Specifies 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-logs or kinesis-firehose as the destination type.

field Enabled: bool | None = None

Specify if log delivery is enabled.

Default true.

field LogFormat: Literal['text', 'json'] | None = None

Specifies either JSON or TEXT.

field LogType: Literal['slow-log', 'engine-log'] | None = None

Refers to slow-log or engine-log..

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Node 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 PrimaryOutpostArn: str | None = None

The outpost ARN of the primary node.

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 ReplicaCount or ReplicasPerNodeGroup if not specified.

field ReplicaCount: int | None = None

The number of read replica nodes in this node group (shard).

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Represents the output of a DescribeReplicationGroups operation.

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 Marker: str | None = None

Provides an identifier to allow retrieval of paginated results.

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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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: Boto3Model

Show 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 Any here because we pydantic complains vociferously if we use boto3.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.

transformer is 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 transformer is None, the attribute will be returned verbatim.

  • If transformer has no named groups, the attribute will be replaced with the value of the first group.

  • If transformer has 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.