Amazon ElastiCache · JSON Structure

Amazon Elasticache Cachecluster Structure

Schema representing an Amazon ElastiCache cache cluster, which is a collection of cache nodes running Redis or Memcached cache engine software.

Type: object Properties: 23 Required: 1
Amazon Web ServicesCachingDatabaseElastiCacheIn-MemoryMemcachedRedis

Amazon ElastiCache CacheCluster is a JSON Structure definition published by Amazon ElastiCache, describing 23 properties, of which 1 is required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

CacheClusterId ARN CacheClusterStatus Engine EngineVersion CacheNodeType NumCacheNodes PreferredAvailabilityZone CacheClusterCreateTime PreferredMaintenanceWindow CacheSubnetGroupName CacheParameterGroup CacheNodes ConfigurationEndpoint SecurityGroups ReplicationGroupId SnapshotRetentionLimit SnapshotWindow AutoMinorVersionUpgrade Port NotificationConfiguration TransitEncryptionEnabled AtRestEncryptionEnabled

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://api.apis.io/schemas/amazon-elasticache-cachecluster.json",
  "name": "Amazon ElastiCache CacheCluster",
  "description": "Schema representing an Amazon ElastiCache cache cluster, which is a collection of cache nodes running Redis or Memcached cache engine software.",
  "type": "object",
  "required": [
    "CacheClusterId"
  ],
  "properties": {
    "CacheClusterId": {
      "type": "string",
      "description": "The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster.",
      "minLength": 1,
      "maxLength": 50,
      "pattern": "^[a-zA-Z][a-zA-Z0-9-]*$"
    },
    "ARN": {
      "type": "string",
      "description": "The ARN (Amazon Resource Name) of the cache cluster.",
      "pattern": "^arn:aws[a-zA-Z-]*:elasticache:[a-z0-9-]+:[0-9]{12}:cluster:.+$"
    },
    "CacheClusterStatus": {
      "type": "string",
      "description": "The current state of this cluster.",
      "enum": [
        "available",
        "creating",
        "deleted",
        "deleting",
        "incompatible-network",
        "modifying",
        "rebooting cluster nodes",
        "restore-failed",
        "snapshotting"
      ]
    },
    "Engine": {
      "type": "string",
      "description": "The name of the cache engine used in this cluster.",
      "enum": [
        "memcached",
        "redis"
      ]
    },
    "EngineVersion": {
      "type": "string",
      "description": "The version of the cache engine that is used in this cluster."
    },
    "CacheNodeType": {
      "type": "string",
      "description": "The name of the compute and memory capacity node type for the cluster.",
      "pattern": "^cache\\.[a-z0-9]+\\.[a-z0-9]+$"
    },
    "NumCacheNodes": {
      "type": "int32",
      "description": "The number of cache nodes in the cluster.",
      "minimum": 1
    },
    "PreferredAvailabilityZone": {
      "type": "string",
      "description": "The name of the Availability Zone in which the cluster is located or \"Multiple\" if the cache nodes are located in different Availability Zones."
    },
    "CacheClusterCreateTime": {
      "type": "datetime",
      "description": "The date and time when the cluster was created."
    },
    "PreferredMaintenanceWindow": {
      "type": "string",
      "description": "Specifies the weekly time range during which maintenance on the cluster is performed."
    },
    "CacheSubnetGroupName": {
      "type": "string",
      "description": "The name of the cache subnet group associated with the cluster."
    },
    "CacheParameterGroup": {
      "type": "object",
      "description": "Status of the cache parameter group.",
      "properties": {
        "CacheParameterGroupName": {
          "type": "string",
          "description": "The name of the cache parameter group."
        },
        "ParameterApplyStatus": {
          "type": "string",
          "description": "The status of parameter updates."
        },
        "CacheNodeIdsToReboot": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of the cache node IDs which need to be rebooted."
        }
      }
    },
    "CacheNodes": {
      "type": "array",
      "description": "A list of cache nodes that are members of the cluster.",
      "items": {
        "type": "object",
        "properties": {
          "CacheNodeId": {
            "type": "string",
            "description": "The cache node identifier."
          },
          "CacheNodeStatus": {
            "type": "string",
            "description": "The current state of this cache node."
          },
          "CacheNodeCreateTime": {
            "type": "datetime",
            "description": "The date and time when the cache node was created."
          },
          "Endpoint": {
            "type": "object",
            "properties": {
              "Address": {
                "type": "string",
                "description": "The DNS hostname of the cache node."
              },
              "Port": {
                "type": "int32",
                "description": "The port number that the cache engine is listening on."
              }
            }
          },
          "ParameterGroupStatus": {
            "type": "string",
            "description": "The status of the parameter group applied to this cache node."
          },
          "CustomerAvailabilityZone": {
            "type": "string",
            "description": "The Availability Zone where this node was created and now resides."
          }
        }
      }
    },
    "ConfigurationEndpoint": {
      "type": "object",
      "description": "Represents a Memcached cluster endpoint which can be used by an application to connect to any node in the cluster.",
      "properties": {
        "Address": {
          "type": "string",
          "description": "The DNS hostname of the cache node."
        },
        "Port": {
          "type": "int32",
          "description": "The port number that the cache engine is listening on."
        }
      }
    },
    "SecurityGroups": {
      "type": "array",
      "description": "A list of VPC Security Groups associated with the cluster.",
      "items": {
        "type": "object",
        "properties": {
          "SecurityGroupId": {
            "type": "string",
            "description": "The identifier of the cache security group."
          },
          "Status": {
            "type": "string",
            "description": "The status of the cache security group membership."
          }
        }
      }
    },
    "ReplicationGroupId": {
      "type": "string",
      "description": "The replication group to which this cluster belongs."
    },
    "SnapshotRetentionLimit": {
      "type": "int32",
      "description": "The number of days for which ElastiCache retains automatic cluster snapshots.",
      "minimum": 0,
      "maximum": 35
    },
    "SnapshotWindow": {
      "type": "string",
      "description": "The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cluster."
    },
    "AutoMinorVersionUpgrade": {
      "type": "boolean",
      "description": "If true, then minor version patches are applied automatically.",
      "default": true
    },
    "Port": {
      "type": "int32",
      "description": "The port number on which each of the cache nodes accepts connections."
    },
    "NotificationConfiguration": {
      "type": "object",
      "description": "Describes a notification topic and its status.",
      "properties": {
        "TopicArn": {
          "type": "string",
          "description": "The Amazon Resource Name (ARN) that identifies the topic."
        },
        "TopicStatus": {
          "type": "string",
          "description": "The current state of the topic."
        }
      }
    },
    "TransitEncryptionEnabled": {
      "type": "boolean",
      "description": "A flag that enables in-transit encryption when set to true.",
      "default": false
    },
    "AtRestEncryptionEnabled": {
      "type": "boolean",
      "description": "A flag that enables encryption at rest when set to true.",
      "default": false
    }
  }
}