{

"PropertyTypes": {
  "Tag": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html#cfn-resource-tags-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html#cfn-resource-tags-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  }
},
"ResourceSpecificationVersion": "1.0.0",
"ResourceType": {
  "AWS::ElastiCache::CacheCluster": {
    "Attributes": {
      "ConfigurationEndpoint.Address": {
        "PrimitiveType": "String"
      },
      "ConfigurationEndpoint.Port": {
        "PrimitiveType": "String"
      },
      "RedisEndpoint.Address": {
        "PrimitiveType": "String"
      },
      "RedisEndpoint.Port": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html",
    "Properties": {
      "AZMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-azmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "AutoMinorVersionUpgrade": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-autominorversionupgrade",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CacheNodeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cachenodetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "CacheParameterGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cacheparametergroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CacheSecurityGroupNames": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cachesecuritygroupnames",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CacheSubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cachesubnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ClusterName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-clustername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Engine": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-engine",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "EngineVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-engineversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NotificationTopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-notificationtopicarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NumCacheNodes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-numcachenodes",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PreferredAvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-preferredavailabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "PreferredAvailabilityZones": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-preferredavailabilityzones",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Conditional"
      },
      "PreferredMaintenanceWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-preferredmaintenancewindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotarns",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "SnapshotName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SnapshotRetentionLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotretentionlimit",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotwindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcSecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-vpcsecuritygroupids",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  }
}

}