{

"PropertyTypes": {
  "AWS::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html",
    "Properties": {
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html#cfn-beanstalk-optionsettings-namespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OptionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html#cfn-beanstalk-optionsettings-optionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html#cfn-beanstalk-optionsettings-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::Pipeline.InputArtifact": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-inputartifacts.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-inputartifacts.html#cfn-codepipeline-pipeline-stages-actions-inputartifacts-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SNS::Topic.Subscription": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-subscription.html",
    "Properties": {
      "Endpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-subscription.html#cfn-sns-topic-subscription-endpoint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-subscription.html#cfn-sns-topic-subscription-protocol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CodePipeline::Pipeline.ArtifactStore": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore.html",
    "Properties": {
      "EncryptionKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore.html#cfn-codepipeline-pipeline-artifactstore-encryptionkey",
        "Required": false,
        "Type": "EncryptionKey",
        "UpdateType": "Mutable"
      },
      "Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore.html#cfn-codepipeline-pipeline-artifactstore-location",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore.html#cfn-codepipeline-pipeline-artifactstore-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::AutoScalingGroup.MetricsCollection": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-metricscollection.html",
    "Properties": {
      "Granularity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-metricscollection.html#cfn-as-metricscollection-granularity",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Metrics": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-metricscollection.html#cfn-as-metricscollection-metrics",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DynamoDB::Table.KeySchema": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-keyschema.html",
    "Properties": {
      "AttributeName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-keyschema.html#aws-properties-dynamodb-keyschema-attributename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "KeyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-keyschema.html#aws-properties-dynamodb-keyschema-keytype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.ReplicationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration.html",
    "Properties": {
      "Role": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration.html#cfn-s3-bucket-replicationconfiguration-role",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration.html#cfn-s3-bucket-replicationconfiguration-rules",
        "DuplicatesAllowed": false,
        "ItemType": "ReplicationRule",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.NotificationFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html",
    "Properties": {
      "S3Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html#cfn-s3-bucket-notificationconfiguraiton-config-filter-s3key",
        "Required": true,
        "Type": "S3KeyFilter",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DataPipeline::Pipeline.ParameterAttribute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parameterobjects-attributes.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parameterobjects-attributes.html#cfn-datapipeline-pipeline-parameterobjects-attribtues-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StringValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parameterobjects-attributes.html#cfn-datapipeline-pipeline-parameterobjects-attribtues-stringvalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.ViewerCertificate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html",
    "Properties": {
      "AcmCertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html#cfn-cloudfront-distributionconfig-viewercertificate-acmcertificatearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CloudFrontDefaultCertificate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html#cfn-cloudfront-distributionconfig-viewercertificate-cloudfrontdefaultcertificate",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IamCertificateId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html#cfn-cloudfront-distributionconfig-viewercertificate-iamcertificateid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinimumProtocolVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html#cfn-cloudfront-distributionconfig-viewercertificate-sslsupportmethod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SslSupportMethod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-viewercertificate.html#cfn-cloudfront-distributionconfig-viewercertificate-minimumprotocolversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.Configuration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html",
    "Properties": {
      "Classification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html#cfn-emr-cluster-configuration-classification",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ConfigurationProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html#cfn-emr-cluster-configuration-configurationproperties",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "Configurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html#cfn-emr-cluster-configuration-configurations",
        "DuplicatesAllowed": false,
        "ItemType": "Configuration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CertificateManager::Certificate.DomainValidationOption": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html",
    "Properties": {
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html#cfn-certificatemanager-certificate-domainvalidationoptions-domainname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ValidationDomain": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html#cfn-certificatemanager-certificate-domainvalidationoption-validationdomain",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.HostEntry": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-hostentry.html",
    "Properties": {
      "Hostname": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-hostentry.html#cfn-ecs-taskdefinition-containerdefinition-hostentry-hostname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "IpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-hostentry.html#cfn-ecs-taskdefinition-containerdefinition-hostentry-ipaddress",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::S3::Bucket.Rule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html",
    "Properties": {
      "ExpirationDate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-expirationdate",
        "PrimitiveType": "Timestamp",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExpirationInDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-expirationindays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-id",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NoncurrentVersionExpirationInDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversionexpirationindays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NoncurrentVersionTransition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition",
        "Required": false,
        "Type": "NoncurrentVersionTransition",
        "UpdateType": "Mutable"
      },
      "NoncurrentVersionTransitions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransitions",
        "Required": false,
        "Type": "NoncurrentVersionTransition",
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-prefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Status": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-status",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Transition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-transition",
        "Required": false,
        "Type": "Transition",
        "UpdateType": "Mutable"
      },
      "Transitions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-transitions",
        "Required": false,
        "Type": "Transition",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.RoutingRuleCondition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html",
    "Properties": {
      "HttpErrorCodeReturnedEquals": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html#cfn-s3-websiteconfiguration-routingrules-routingrulecondition-httperrorcodereturnedequals",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KeyPrefixEquals": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html#cfn-s3-websiteconfiguration-routingrules-routingrulecondition-keyprefixequals",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.QueueConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html",
    "Properties": {
      "Event": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html#cfn-s3-bucket-notificationconfig-queueconfig-event",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Filter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html#cfn-s3-bucket-notificationconfig-queueconfig-filter",
        "Required": false,
        "Type": "NotificationFilter",
        "UpdateType": "Mutable"
      },
      "Queue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html#cfn-s3-bucket-notificationconfig-queueconfig-queue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html",
    "Properties": {
      "BufferingHints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-bufferinghints",
        "Required": true,
        "Type": "ElasticsearchBufferingHints",
        "UpdateType": "Mutable"
      },
      "CloudWatchLoggingOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-cloudwatchloggingoptions",
        "Required": false,
        "Type": "CloudWatchLoggingOptions",
        "UpdateType": "Mutable"
      },
      "DomainARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-domainarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IndexName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-indexname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IndexRotationPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-indexrotationperiod",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RetryOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-retryoptions",
        "Required": true,
        "Type": "ElasticsearchRetryOptions",
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3BackupMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-s3backupmode",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3Configuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-s3configuration",
        "Required": true,
        "Type": "S3DestinationConfiguration",
        "UpdateType": "Mutable"
      },
      "TypeName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-typename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancing::LoadBalancer.Listeners": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html",
    "Properties": {
      "InstancePort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-instanceport",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InstanceProtocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-instanceprotocol",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LoadBalancerPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-loadbalancerport",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PolicyNames": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-policynames",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-protocol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SSLCertificateId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-sslcertificateid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.LifecycleConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig.html",
    "Properties": {
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig.html#cfn-s3-bucket-lifecycleconfig-rules",
        "DuplicatesAllowed": false,
        "ItemType": "Rule",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::LaunchConfiguration.BlockDeviceMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-mapping.html",
    "Properties": {
      "DeviceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-mapping.html#cfn-as-launchconfig-blockdev-mapping-devicename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Ebs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-mapping.html#cfn-as-launchconfig-blockdev-mapping-ebs",
        "Required": false,
        "Type": "BlockDevice",
        "UpdateType": "Mutable"
      },
      "NoDevice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-mapping.html#cfn-as-launchconfig-blockdev-mapping-nodevice",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VirtualName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-mapping.html#cfn-as-launchconfig-blockdev-mapping-virtualname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.TopicConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html",
    "Properties": {
      "Event": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html#cfn-s3-bucket-notificationconfig-topicconfig-event",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Filter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html#cfn-s3-bucket-notificationconfig-topicconfig-filter",
        "Required": false,
        "Type": "NotificationFilter",
        "UpdateType": "Mutable"
      },
      "Topic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html#cfn-s3-bucket-notificationconfig-topicconfig-topic",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.S3OriginConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-s3origin.html",
    "Properties": {
      "OriginAccessIdentity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-s3origin.html#cfn-cloudfront-s3origin-originaccessidentity",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattributes.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattributes.html#cfn-elasticloadbalancingv2-loadbalancer-loadbalancerattributes-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattributes.html#cfn-elasticloadbalancingv2-loadbalancer-loadbalancerattributes-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.Cookies": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues-cookies.html",
    "Properties": {
      "Forward": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues-cookies.html#cfn-cloudfront-forwardedvalues-cookies-forward",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "WhitelistedNames": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues-cookies.html#cfn-cloudfront-forwardedvalues-cookies-whitelistednames",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.LambdaConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html",
    "Properties": {
      "Event": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-event",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Filter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-filter",
        "Required": false,
        "Type": "NotificationFilter",
        "UpdateType": "Mutable"
      },
      "Function": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-function",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::Rule.Predicate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-rule-predicates.html",
    "Properties": {
      "DataId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-rule-predicates.html#cfn-waf-rule-predicates-dataid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Negated": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-rule-predicates.html#cfn-waf-rule-predicates-negated",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-rule-predicates.html#cfn-waf-rule-predicates-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Step.HadoopJarStepConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-hadoopjarstepconfig.html",
    "Properties": {
      "Args": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-hadoopjarstepconfig.html#cfn-elasticmapreduce-step-hadoopjarstepconfig-args",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Jar": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-hadoopjarstepconfig.html#cfn-elasticmapreduce-step-hadoopjarstepconfig-jar",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "MainClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-hadoopjarstepconfig.html#cfn-elasticmapreduce-step-hadoopjarstepconfig-mainclass",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StepProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-hadoopjarstepconfig.html#cfn-elasticmapreduce-step-hadoopjarstepconfig-stepproperties",
        "DuplicatesAllowed": false,
        "ItemType": "KeyValue",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html",
    "Properties": {
      "Primary": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-primary",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PrivateIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-privateipaddress",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DynamoDB::Table.AttributeDefinitions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-attributedef.html",
    "Properties": {
      "AttributeName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-attributedef.html#cfn-dynamodb-attributedef-attributename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "AttributeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-attributedef.html#cfn-dynamodb-attributedef-attributename-attributetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::SizeConstraintSet.FieldToMatch": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint-fieldtomatch.html",
    "Properties": {
      "Data": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint-fieldtomatch.html#cfn-waf-sizeconstraintset-sizeconstraint-fieldtomatch-data",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint-fieldtomatch.html#cfn-waf-sizeconstraintset-sizeconstraint-fieldtomatch-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig.EbsBlockDeviceConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig.html",
    "Properties": {
      "VolumeSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification",
        "Required": true,
        "Type": "VolumeSpecification",
        "UpdateType": "Mutable"
      },
      "VolumesPerInstance": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfig-volumesperinstance",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.S3Location": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-s3location.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-s3location.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-s3location-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "BundleType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-s3location.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-s3location-bundletype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ETag": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-s3location.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-s3location-etag",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-s3location.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-s3location-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-s3location.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-s3location-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.LambdaAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-lambda.html",
    "Properties": {
      "FunctionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-lambda.html#cfn-iot-lambda-functionarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.ReplicationRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html",
    "Properties": {
      "Destination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-destination",
        "Required": true,
        "Type": "ReplicationDestination",
        "UpdateType": "Mutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-id",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-prefix",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Status": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-status",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html",
    "Properties": {
      "IntervalInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-bufferinghints-intervalinseconds",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SizeInMBs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-bufferinghints-sizeinmbs",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.ScriptBootstrapActionConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-bootstrapactionconfig-scriptbootstrapactionconfig.html",
    "Properties": {
      "Args": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-bootstrapactionconfig-scriptbootstrapactionconfig.html#cfn-emr-cluster-bootstrapactionconfig-scriptbootstrapaction-args",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-bootstrapactionconfig-scriptbootstrapactionconfig.html#cfn-emr-cluster-bootstrapactionconfig-scriptbootstrapaction-path",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::DHCPOptions.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": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html#cfn-resource-tags-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html",
    "Properties": {
      "HealthyThreshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-healthythreshold",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Interval": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-interval",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Target": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-target",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Timeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-timeout",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "UnhealthyThreshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-unhealthythreshold",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::LaunchConfiguration.BlockDevice": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html",
    "Properties": {
      "DeleteOnTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-deleteonterm",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Encrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-encrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-snapshotid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-volumesize",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html#cfn-as-launchconfig-blockdev-template-volumetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::Service.DeploymentConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html",
    "Properties": {
      "MaximumPercent": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-maximumpercent",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinimumHealthyPercent": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-minimumhealthypercent",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DataPipeline::Pipeline.PipelineTag": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelinetags.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelinetags.html#cfn-datapipeline-pipeline-pipelinetags-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelinetags.html#cfn-datapipeline-pipeline-pipelinetags-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Layer.AutoScalingThresholds": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html",
    "Properties": {
      "CpuThreshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html#cfn-opsworks-layer-loadbasedautoscaling-autoscalingthresholds-cputhreshold",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IgnoreMetricsTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html#cfn-opsworks-layer-loadbasedautoscaling-autoscalingthresholds-ignoremetricstime",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html#cfn-opsworks-layer-loadbasedautoscaling-autoscalingthresholds-instancecount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LoadThreshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html#cfn-opsworks-layer-loadbasedautoscaling-autoscalingthresholds-loadthreshold",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MemoryThreshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html#cfn-opsworks-layer-loadbasedautoscaling-autoscalingthresholds-memorythreshold",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThresholdsWaitTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling-autoscalingthresholds.html#cfn-opsworks-layer-loadbasedautoscaling-autoscalingthresholds-thresholdwaittime",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Layer.ShutdownEventConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-lifecycleeventconfiguration-shutdowneventconfiguration.html",
    "Properties": {
      "DelayUntilElbConnectionsDrained": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-lifecycleeventconfiguration-shutdowneventconfiguration.html#cfn-opsworks-layer-lifecycleconfiguration-shutdowneventconfiguration-delayuntilelbconnectionsdrained",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExecutionTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-lifecycleeventconfiguration-shutdowneventconfiguration.html#cfn-opsworks-layer-lifecycleconfiguration-shutdowneventconfiguration-executiontimeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApplicationAutoScaling::ScalingPolicy.StepScalingPolicyConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html",
    "Properties": {
      "AdjustmentType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-adjustmenttype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Cooldown": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-cooldown",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricAggregationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-metricaggregationtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinAdjustmentMagnitude": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-minadjustmentmagnitude",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StepAdjustments": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustments",
        "DuplicatesAllowed": false,
        "ItemType": "StepAdjustment",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.CustomOriginConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-customorigin.html",
    "Properties": {
      "HTTPPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-customorigin.html#cfn-cloudfront-customorigin-httpport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HTTPSPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-customorigin.html#cfn-cloudfront-customorigin-httpsport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OriginProtocolPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-customorigin.html#cfn-cloudfront-customorigin-originprotocolpolicy",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OriginSSLProtocols": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-customorigin.html#cfn-cloudfront-customorigin-originsslprotocols",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.CorsRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html",
    "Properties": {
      "AllowedHeaders": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-allowedheaders",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AllowedMethods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-allowedmethods",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AllowedOrigins": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-allowedorigins",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ExposedHeaders": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-exposedheaders",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-id",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxAge": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-maxage",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.S3Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-s3.html",
    "Properties": {
      "BucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-s3.html#cfn-iot-s3-bucketname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-s3.html#cfn-iot-s3-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-s3.html#cfn-iot-s3-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.Ebs": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html",
    "Properties": {
      "DeleteOnTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-deleteontermination",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Encrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-encrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-snapshotid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-volumesize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-blockdev-template-volumetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::NetworkAclEntry.Icmp": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-icmp.html",
    "Properties": {
      "Code": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-icmp.html#cfn-ec2-networkaclentry-icmp-code",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-icmp.html#cfn-ec2-networkaclentry-icmp-type",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DirectoryService::MicrosoftAD.VpcSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-microsoftad-vpcsettings.html",
    "Properties": {
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-microsoftad-vpcsettings.html#cfn-directoryservice-microsoftad-vpcsettings-subnetids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-microsoftad-vpcsettings.html#cfn-directoryservice-microsoftad-vpcsettings-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::Function.VpcConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html",
    "Properties": {
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html#cfn-lambda-function-vpcconfig-securitygroupids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html#cfn-lambda-function-vpcconfig-subnetids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::Pipeline.ActionDeclaration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html",
    "Properties": {
      "ActionTypeId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-actiontypeid",
        "Required": true,
        "Type": "ActionTypeId",
        "UpdateType": "Mutable"
      },
      "Configuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-configuration",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InputArtifacts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-inputartifacts",
        "DuplicatesAllowed": false,
        "ItemType": "InputArtifact",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OutputArtifacts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-outputartifacts",
        "DuplicatesAllowed": false,
        "ItemType": "OutputArtifact",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RunOrder": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-runorder",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig.Configuration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html",
    "Properties": {
      "Classification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html#cfn-emr-cluster-configuration-classification",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ConfigurationProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html#cfn-emr-cluster-configuration-configurationproperties",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Immutable"
      },
      "Configurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-configuration.html#cfn-emr-cluster-configuration-configurations",
        "DuplicatesAllowed": false,
        "ItemType": "Configuration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Redshift::ClusterParameterGroup.Parameter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-property-redshift-clusterparametergroup-parameter.html",
    "Properties": {
      "ParameterName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-property-redshift-clusterparametergroup-parameter.html#cfn-redshift-clusterparametergroup-parameter-parametername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ParameterValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-property-redshift-clusterparametergroup-parameter.html#cfn-redshift-clusterparametergroup-parameter-parametervalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::SizeConstraintSet.SizeConstraint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html",
    "Properties": {
      "ComparisonOperator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html#cfn-waf-sizeconstraintset-sizeconstraint-comparisonoperator",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html#cfn-waf-sizeconstraintset-sizeconstraint-fieldtomatch",
        "Required": true,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "Size": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html#cfn-waf-sizeconstraintset-sizeconstraint-size",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TextTransformation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html#cfn-waf-sizeconstraintset-sizeconstraint-texttransformation",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::SqlInjectionMatchSet.SqlInjectionMatchTuple": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sqlinjectionmatchset-sqlinjectionmatchtuples.html",
    "Properties": {
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sqlinjectionmatchset-sqlinjectionmatchtuples.html#cfn-waf-sqlinjectionmatchset-sqlinjectionmatchtuples-fieldtomatch",
        "Required": true,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "TextTransformation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sqlinjectionmatchset-sqlinjectionmatchtuples.html#cfn-waf-sqlinjectionmatchset-sqlinjectionmatchtuples-texttransformation",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.InstanceGroupConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig-instancegroupconfig.html",
    "Properties": {
      "BidPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig-instancegroupconfig.html#cfn-emr-cluster-jobflowinstancesconfig-instancegroupconfig-bidprice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Configurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig-instancegroupconfig.html#cfn-emr-cluster-jobflowinstancesconfig-instancegroupconfig-configurations",
        "DuplicatesAllowed": false,
        "ItemType": "Configuration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "EbsConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig-instancegroupconfig.html#cfn-emr-cluster-jobflowinstancesconfig-instancegroupconfigConfigurations-ebsconfiguration",
        "Required": false,
        "Type": "EbsConfiguration",
        "UpdateType": "Immutable"
      },
      "InstanceCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig-instancegroupconfig.html#cfn-emr-cluster-jobflowinstancesconfig-instancegroupconfig-instancecount",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig-instancegroupconfig.html#cfn-emr-cluster-jobflowinstancesconfig-instancegroupconfig-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Market": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig-instancegroupconfig.html#cfn-emr-cluster-jobflowinstancesconfig-instancegroupconfig-market",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig-instancegroupconfig.html#cfn-emr-cluster-jobflowinstancesconfig-instancegroupconfig-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattributes.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattributes.html#cfn-elasticloadbalancingv2-targetgroup-targetgroupattributes-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattributes.html#cfn-elasticloadbalancingv2-targetgroup-targetgroupattributes-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Instance.BlockDeviceMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-blockdevicemapping.html",
    "Properties": {
      "DeviceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-blockdevicemapping.html#cfn-opsworks-instance-blockdevicemapping-devicename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Ebs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-blockdevicemapping.html#cfn-opsworks-instance-blockdevicemapping-ebs",
        "Required": false,
        "Type": "EbsBlockDevice",
        "UpdateType": "Mutable"
      },
      "NoDevice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-blockdevicemapping.html#cfn-opsworks-instance-blockdevicemapping-nodevice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VirtualName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-blockdevicemapping.html#cfn-opsworks-instance-blockdevicemapping-virtualname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::App.DataSource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-datasource.html",
    "Properties": {
      "Arn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-datasource.html#cfn-opsworks-app-datasource-arn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-datasource.html#cfn-opsworks-app-datasource-databasename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-datasource.html#cfn-opsworks-app-datasource-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::WebACL.WafAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-action.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-action.html#cfn-waf-webacl-action-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::DBSecurityGroup.Ingress": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html",
    "Properties": {
      "CDIRIP": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html#cfn-rds-securitygroup-cidrip",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EC2SecurityGroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html#cfn-rds-securitygroup-ec2securitygroupid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EC2SecurityGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html#cfn-rds-securitygroup-ec2securitygroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EC2SecurityGroupOwnerId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html#cfn-rds-securitygroup-ec2securitygroupownerid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::WAF::IPSet.IPSetDescriptor": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-ipset-ipsetdescriptors.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-ipset-ipsetdescriptors.html#cfn-waf-ipset-ipsetdescriptors-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-ipset-ipsetdescriptors.html#cfn-waf-ipset-ipsetdescriptors-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.NetworkInterface": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html",
    "Properties": {
      "AssociatePublicIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-associatepubip",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeleteOnTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-delete",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeviceIndex": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-deviceindex",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "GroupSet": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-groupset",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "NetworkInterfaceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-network-iface",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-privateipaddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateIpAddresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-privateipaddresses",
        "DuplicatesAllowed": true,
        "ItemType": "PrivateIpAddressSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SecondaryPrivateIpAddressCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-secondprivateip",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#aws-properties-ec2-network-iface-embedded-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Deployment.MethodSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html",
    "Properties": {
      "CacheDataEncrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-cachedataencrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CacheTtlInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-cachettlinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CachingEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-cachingenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DataTraceEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-datatraceenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HttpMethod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-httpmethod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LoggingLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-logginglevel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-metricsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourcePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-resourcepath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThrottlingBurstLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-throttlingburstlimit",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThrottlingRateLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-throttlingratelimit",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Instance.EbsBlockDevice": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html",
    "Properties": {
      "DeleteOnTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html#cfn-opsworks-instance-ebsblockdevice-deleteontermination",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html#cfn-opsworks-instance-ebsblockdevice-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html#cfn-opsworks-instance-ebsblockdevice-snapshotid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html#cfn-opsworks-instance-ebsblockdevice-volumesize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-ebsblockdevice.html#cfn-opsworks-instance-ebsblockdevice-volumetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Layer.VolumeConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html",
    "Properties": {
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volconfig-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MountPoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volconfig-mountpoint",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NumberOfDisks": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volconfig-numberofdisks",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RaidLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volconfig-raidlevel",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Size": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volconfig-size",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volconfig-volumetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::UsagePlan.ThrottleSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html",
    "Properties": {
      "BurstLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html#cfn-apigateway-usageplan-throttlesettings-burstlimit",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RateLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-throttlesettings.html#cfn-apigateway-usageplan-throttlesettings-ratelimit",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DataPipeline::Pipeline.PipelineObject": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects.html",
    "Properties": {
      "Fields": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects.html#cfn-datapipeline-pipeline-pipelineobjects-fields",
        "DuplicatesAllowed": true,
        "ItemType": "Field",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects.html#cfn-datapipeline-pipeline-pipelineobjects-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects.html#cfn-datapipeline-pipeline-pipelineobjects-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.NoDevice": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-nodevice.html",
    "Properties": {}
  },
  "AWS::EMR::Cluster.BootstrapActionConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-bootstrapactionconfig.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-bootstrapactionconfig.html#cfn-emr-cluster-bootstrapactionconfig-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ScriptBootstrapAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-bootstrapactionconfig.html#cfn-emr-cluster-bootstrapactionconfig-scriptbootstrapaction",
        "Required": true,
        "Type": "ScriptBootstrapActionConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::ScalingPolicy.StepAdjustment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html",
    "Properties": {
      "MetricIntervalLowerBound": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html#cfn-autoscaling-scalingpolicy-stepadjustment-metricintervallowerbound",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricIntervalUpperBound": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html#cfn-autoscaling-scalingpolicy-stepadjustment-metricintervalupperbound",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScalingAdjustment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-stepadjustments.html#cfn-autoscaling-scalingpolicy-stepadjustment-scalingadjustment",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IAM::Role.Policy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html",
    "Properties": {
      "PolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html#cfn-iam-policies-policydocument",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PolicyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html#cfn-iam-policies-policyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.ContainerDefinition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html",
    "Properties": {
      "Command": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-command",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Cpu": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-cpu",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DisableNetworking": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-disablenetworking",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DnsSearchDomains": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-dnssearchdomains",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "DnsServers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-dnsservers",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "DockerLabels": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-dockerlabels",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Immutable"
      },
      "DockerSecurityOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-dockersecurityoptions",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "EntryPoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-entrypoint",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Environment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-environment",
        "DuplicatesAllowed": false,
        "ItemType": "KeyValuePair",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Essential": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-essential",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ExtraHosts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-extrahosts",
        "DuplicatesAllowed": false,
        "ItemType": "HostEntry",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Hostname": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-hostname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Image": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-image",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Links": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-links",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "LogConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-logconfiguration",
        "Required": false,
        "Type": "LogConfiguration",
        "UpdateType": "Immutable"
      },
      "Memory": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-memory",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MountPoints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-mountpoints",
        "DuplicatesAllowed": false,
        "ItemType": "MountPoint",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PortMappings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-portmappings",
        "DuplicatesAllowed": false,
        "ItemType": "PortMapping",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Privileged": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-privileged",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ReadonlyRootFilesystem": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-readonlyrootfilesystem",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Ulimits": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-ulimits",
        "DuplicatesAllowed": false,
        "ItemType": "Ulimit",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "User": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-user",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "VolumesFrom": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-volumesfrom",
        "DuplicatesAllowed": false,
        "ItemType": "VolumeFrom",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "WorkingDirectory": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-workingdirectory",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::GameLift::Fleet.IpPermission": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ec2inboundpermission.html",
    "Properties": {
      "FromPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ec2inboundpermission.html#cfn-gamelift-fleet-ec2inboundpermissions-fromport",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IpRange": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ec2inboundpermission.html#cfn-gamelift-fleet-ec2inboundpermissions-iprange",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ec2inboundpermission.html#cfn-gamelift-fleet-ec2inboundpermissions-protocol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ToPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-ec2inboundpermission.html#cfn-gamelift-fleet-ec2inboundpermissions-toport",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::DeliveryChannel.ConfigSnapshotDeliveryProperties": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-deliverychannel-configsnapshotdeliveryproperties.html",
    "Properties": {
      "DeliveryFrequency": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-deliverychannel-configsnapshotdeliveryproperties.html#cfn-config-deliverychannel-configsnapshotdeliveryproperties-deliveryfrequency",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.SsmAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html",
    "Properties": {
      "AssociationParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html#cfn-ec2-instance-ssmassociations-associationparameters",
        "DuplicatesAllowed": true,
        "ItemType": "AssociationParameter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DocumentName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html#cfn-ec2-instance-ssmassociations-documentname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::SqlInjectionMatchSet.FieldToMatch": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples-fieldtomatch.html",
    "Properties": {
      "Data": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples-fieldtomatch.html#cfn-waf-sizeconstraintset-sizeconstraint-fieldtomatch-data",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples-fieldtomatch.html#cfn-waf-sizeconstraintset-sizeconstraint-fieldtomatch-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.SqsAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-sqs.html",
    "Properties": {
      "QueueUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-sqs.html#cfn-iot-sqs-queueurl",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-sqs.html#cfn-iot-sqs-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "UseBase64": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-sqs.html#cfn-iot-sqs-usebase64",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DataPipeline::Pipeline.ParameterObject": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parameterobjects.html",
    "Properties": {
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parameterobjects.html#cfn-datapipeline-pipeline-parameterobjects-attributes",
        "DuplicatesAllowed": true,
        "ItemType": "ParameterAttribute",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parameterobjects.html#cfn-datapipeline-pipeline-parameterobject-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Stack.StackConfigurationManager": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-stackconfigmanager.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-stackconfigmanager.html#cfn-opsworks-configmanager-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-stackconfigmanager.html#cfn-opsworks-configmanager-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::Pipeline.StageDeclaration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages.html",
    "Properties": {
      "Actions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages.html#cfn-codepipeline-pipeline-stages-actions",
        "DuplicatesAllowed": false,
        "ItemType": "ActionDeclaration",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Blockers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages.html#cfn-codepipeline-pipeline-stages-blockers",
        "DuplicatesAllowed": false,
        "ItemType": "BlockerDeclaration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages.html#cfn-codepipeline-pipeline-stages-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.ElasticsearchAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-elasticsearch.html",
    "Properties": {
      "Endpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-elasticsearch.html#cfn-iot-elasticsearch-endpoint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-elasticsearch.html#cfn-iot-elasticsearch-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Index": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-elasticsearch.html#cfn-iot-elasticsearch-index",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-elasticsearch.html#cfn-iot-elasticsearch-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-elasticsearch.html#cfn-iot-elasticsearch-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::ConfigRule.Source": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source.html",
    "Properties": {
      "Owner": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source.html#cfn-config-configrule-source-owner",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SourceDetails": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source.html#cfn-config-configrule-source-sourcedetails",
        "DuplicatesAllowed": false,
        "ItemType": "SourceDetail",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SourceIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source.html#cfn-config-configrule-source-sourceidentifier",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::RestApi.S3Location": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-restapi-bodys3location.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-restapi-bodys3location.html#cfn-apigateway-restapi-s3location-bucket",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ETag": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-restapi-bodys3location.html#cfn-apigateway-restapi-s3location-etag",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-restapi-bodys3location.html#cfn-apigateway-restapi-s3location-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-restapi-bodys3location.html#cfn-apigateway-restapi-s3location-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::Service.LoadBalancer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancers.html",
    "Properties": {
      "ContainerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancers.html#cfn-ecs-service-loadbalancers-containername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ContainerPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancers.html#cfn-ecs-service-loadbalancers-containerport",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "LoadBalancerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancers.html#cfn-ecs-service-loadbalancers-loadbalancername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TargetGroupArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancers.html#cfn-ecs-service-loadbalancers-targetgrouparn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-encryptionconfiguration.html",
    "Properties": {
      "KMSEncryptionConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-encryptionconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-encryptionconfiguration-kmsencryptionconfig",
        "Required": false,
        "Type": "KMSEncryptionConfig",
        "UpdateType": "Mutable"
      },
      "NoEncryptionConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-encryptionconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-encryptionconfiguration-noencryptionconfig",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-destination-cloudwatchloggingoptions.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-destination-cloudwatchloggingoptions.html#cfn-kinesisfirehose-kinesisdeliverystream-destination-cloudwatchloggingoptions-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LogGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-destination-cloudwatchloggingoptions.html#cfn-kinesisfirehose-kinesisdeliverystream-destination-cloudwatchloggingoptions-loggroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LogStreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-destination-cloudwatchloggingoptions.html#cfn-kinesisfirehose-kinesisdeliverystream-destination-cloudwatchloggingoptions-logstreamname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DynamoDB::Table.Projection": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-projectionobject.html",
    "Properties": {
      "NonKeyAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-projectionobject.html#cfn-dynamodb-projectionobj-nonkeyatt",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ProjectionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-projectionobject.html#cfn-dynamodb-projectionobj-projtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.LogConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html",
    "Properties": {
      "LogDriver": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html#cfn-ecs-taskdefinition-containerdefinition-logconfiguration-logdriver",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Options": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html#cfn-ecs-taskdefinition-containerdefinition-logconfiguration-options",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::Method.MethodResponse": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html",
    "Properties": {
      "ResponseModels": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html#cfn-apigateway-method-methodresponse-responsemodels",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "ResponseParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html#cfn-apigateway-method-methodresponse-responseparameters",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "Boolean",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "StatusCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html#cfn-apigateway-method-methodresponse-statuscode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-configurationtemplate-sourceconfiguration.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-configurationtemplate-sourceconfiguration.html#cfn-beanstalk-configurationtemplate-sourceconfiguration-applicationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-configurationtemplate-sourceconfiguration.html#cfn-beanstalk-configurationtemplate-sourceconfiguration-templatename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::Listener.Certificate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificates.html",
    "Properties": {
      "CertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificates.html#cfn-elasticloadbalancingv2-listener-certificates-certificatearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::TargetGroup.Matcher": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-matcher.html",
    "Properties": {
      "HttpCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-matcher.html#cfn-elasticloadbalancingv2-targetgroup-matcher-httpcode",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.DynamoDBAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-dynamodb.html",
    "Properties": {
      "HashKeyField": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-dynamodb.html#cfn-iot-dynamodb-hashkeyfield",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "HashKeyValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-dynamodb.html#cfn-iot-dynamodb-hashkeyvalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PayloadField": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-dynamodb.html#cfn-iot-dynamodb-payloadfield",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RangeKeyField": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-dynamodb.html#cfn-iot-dynamodb-rangekeyfield",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RangeKeyValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-dynamodb.html#cfn-iot-dynamodb-rangekeyvalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-dynamodb.html#cfn-iot-dynamodb-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-dynamodb.html#cfn-iot-dynamodb-tablename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html",
    "Properties": {
      "EmitInterval": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-emitinterval",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3BucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-s3bucketname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3BucketPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-s3bucketprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::TargetGroup.TargetDescription": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetdescription.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetdescription.html#cfn-elasticloadbalancingv2-targetgroup-targetdescription-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetdescription.html#cfn-elasticloadbalancingv2-targetgroup-targetdescription-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentConfig.MinimumHealthyHosts": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html#cfn-codedeploy-deploymentconfig-minimumhealthyhosts-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentconfig-minimumhealthyhosts.html#cfn-codedeploy-deploymentconfig-minimumhealthyhosts-value",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53::RecordSetGroup.GeoLocation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html",
    "Properties": {
      "ContinentCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordsetgroup-geolocation-continentcode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CountryCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-countrycode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubdivisionCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-subdivisioncode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.Revision": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision.html",
    "Properties": {
      "GitHubLocation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-githublocation",
        "Required": false,
        "Type": "GitHubLocation",
        "UpdateType": "Mutable"
      },
      "RevisionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-revisiontype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "S3Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-s3location",
        "Required": false,
        "Type": "S3Location",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::Listener.Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html",
    "Properties": {
      "TargetGroupArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-defaultactions-targetgrouparn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-defaultactions-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Layer.Recipes": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html",
    "Properties": {
      "Configure": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html#cfn-opsworks-layer-customrecipes-configure",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Deploy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html#cfn-opsworks-layer-customrecipes-deploy",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Setup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html#cfn-opsworks-layer-customrecipes-setup",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Shutdown": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html#cfn-opsworks-layer-customrecipes-shutdown",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Undeploy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-recipes.html#cfn-opsworks-layer-customrecipes-undeploy",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Method.Integration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html",
    "Properties": {
      "CacheKeyParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-cachekeyparameters",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CacheNamespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-cachenamespace",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Credentials": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-credentials",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IntegrationHttpMethod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-integrationhttpmethod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IntegrationResponses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-integrationresponses",
        "DuplicatesAllowed": false,
        "ItemType": "IntegrationResponse",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PassthroughBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-passthroughbehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequestParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-requestparameters",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "RequestTemplates": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-requesttemplates",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Uri": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-uri",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.RepublishAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-republish.html",
    "Properties": {
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-republish.html#cfn-iot-republish-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Topic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-republish.html#cfn-iot-republish-topic",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.Volume": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html",
    "Properties": {
      "Host": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html#cfn-ecs-taskdefinition-volumes-host",
        "Required": false,
        "Type": "HostVolumeProperties",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html#cfn-ecs-taskdefinition-volumes-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CloudWatch::Alarm.Dimension": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html#cfn-cloudwatch-alarm-dimension-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-dimension.html#cfn-cloudwatch-alarm-dimension-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.Transition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html",
    "Properties": {
      "StorageClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html#cfn-s3-bucket-lifecycleconfig-rule-transition-storageclass",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TransitionDate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html#cfn-s3-bucket-lifecycleconfig-rule-transition-transitiondate",
        "PrimitiveType": "Timestamp",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TransitionInDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html#cfn-s3-bucket-lifecycleconfig-rule-transition-transitionindays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DynamoDB::Table.LocalSecondaryIndex": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-lsi.html",
    "Properties": {
      "IndexName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-lsi.html#cfn-dynamodb-lsi-indexname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "KeySchema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-lsi.html#cfn-dynamodb-lsi-keyschema",
        "DuplicatesAllowed": true,
        "ItemType": "KeySchema",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Projection": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-lsi.html#cfn-dynamodb-lsi-projection",
        "Required": true,
        "Type": "Projection",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.EbsConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration.html",
    "Properties": {
      "EbsBlockDeviceConfigs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfigs",
        "DuplicatesAllowed": false,
        "ItemType": "EbsBlockDeviceConfig",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EbsOptimized": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration.html#cfn-emr-ebsconfiguration-ebsoptimized",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::ConfigRule.Scope": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html",
    "Properties": {
      "ComplianceResourceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html#cfn-config-configrule-scope-complianceresourceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ComplianceResourceTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html#cfn-config-configrule-scope-complianceresourcetypes",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TagKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html#cfn-config-configrule-scope-tagkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TagValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-scope.html#cfn-config-configrule-scope-tagvalue",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.JobFlowInstancesConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html",
    "Properties": {
      "AdditionalMasterSecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-additionalmastersecuritygroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "AdditionalSlaveSecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-additionalslavesecuritygroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "CoreInstanceGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-coreinstancegroup",
        "Required": true,
        "Type": "InstanceGroupConfig",
        "UpdateType": "Immutable"
      },
      "Ec2KeyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-ec2keyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Ec2SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-ec2subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EmrManagedMasterSecurityGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-emrmanagedmastersecuritygroup",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EmrManagedSlaveSecurityGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-emrmanagedslavesecuritygroup",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "HadoopVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-hadoopversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MasterInstanceGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-masterinstancegroup",
        "Required": true,
        "Type": "InstanceGroupConfig",
        "UpdateType": "Immutable"
      },
      "Placement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-placement",
        "Required": false,
        "Type": "PlacementType",
        "UpdateType": "Immutable"
      },
      "ServiceAccessSecurityGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-serviceaccesssecuritygroup",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TerminationProtected": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig.html#cfn-emr-cluster-jobflowinstancesconfig-terminationprotected",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.CustomErrorResponse": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-customerrorresponse.html",
    "Properties": {
      "ErrorCachingMinTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-customerrorresponse.html#cfn-cloudfront-distributionconfig-customerrorresponse-errorcachingminttl",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ErrorCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-customerrorresponse.html#cfn-cloudfront-distributionconfig-customerrorresponse-errorcode",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ResponseCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-customerrorresponse.html#cfn-cloudfront-distributionconfig-customerrorresponse-responsecode",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResponsePagePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-customerrorresponse.html#cfn-cloudfront-distributionconfig-customerrorresponse-responsepagepath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::Function.Code": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html",
    "Properties": {
      "S3Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3bucket",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "S3Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "S3ObjectVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3objectversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ZipFile": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.ForwardedValues": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues.html",
    "Properties": {
      "Cookies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues.html#cfn-cloudfront-forwardedvalues-cookies",
        "Required": false,
        "Type": "Cookies",
        "UpdateType": "Mutable"
      },
      "Headers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues.html#cfn-cloudfront-forwardedvalues-headers",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "QueryString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues.html#cfn-cloudfront-forwardedvalues-querystring",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "QueryStringCacheKeys": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-forwardedvalues.html#cfn-cloudfront-forwardedvalues-querystringcachekeys",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Method.IntegrationResponse": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html",
    "Properties": {
      "ResponseParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-responseparameters",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "ResponseTemplates": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-responsetemplates",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "SelectionPattern": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-selectionpattern",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StatusCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integration-integrationresponse-statuscode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::XssMatchSet.FieldToMatch": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple-fieldtomatch.html",
    "Properties": {
      "Data": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple-fieldtomatch.html#cfn-waf-xssmatchset-xssmatchtuple-fieldtomatch-data",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple-fieldtomatch.html#cfn-waf-xssmatchset-xssmatchtuple-fieldtomatch-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53::HealthCheck.HealthCheckConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html",
    "Properties": {
      "FailureThreshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-failurethreshold",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FullyQualifiedDomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-fullyqualifieddomainname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IPAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-ipaddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequestInterval": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-requestinterval",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourcePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-resourcepath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SearchString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-searchstring",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html",
    "Properties": {
      "AllocationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-allocationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmapping-subnetid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.SnsAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-sns.html",
    "Properties": {
      "MessageFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-sns.html#cfn-iot-sns-snsaction",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-sns.html#cfn-iot-sns-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-sns.html#cfn-iot-sns-targetarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.CorsConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors.html",
    "Properties": {
      "CorsRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors.html#cfn-s3-bucket-cors-corsrule",
        "DuplicatesAllowed": false,
        "ItemType": "CorsRule",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.ReplicationDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationconfiguration-rules-destination-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StorageClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationconfiguration-rules-destination-storageclass",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.KeyValuePair": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-environment.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-environment.html#cfn-ecs-taskdefinition-containerdefinition-environment-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-environment.html#cfn-ecs-taskdefinition-containerdefinition-environment-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.CacheBehavior": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html",
    "Properties": {
      "AllowedMethods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-allowedmethods",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CachedMethods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-cachedmethods",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Compress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-compress",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-defaultttl",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ForwardedValues": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-forwardedvalues",
        "Required": true,
        "Type": "ForwardedValues",
        "UpdateType": "Mutable"
      },
      "MaxTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-maxttl",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-minttl",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PathPattern": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-pathpattern",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SmoothStreaming": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-smoothstreaming",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetOriginId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-targetoriginid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TrustedSigners": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-trustedsigners",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ViewerProtocolPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachebehavior.html#cfn-cloudfront-cachebehavior-viewerprotocolpolicy",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DirectoryService::SimpleAD.VpcSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-simplead-vpcsettings.html",
    "Properties": {
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-simplead-vpcsettings.html#cfn-directoryservice-simplead-vpcsettings-subnetids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-directoryservice-simplead-vpcsettings.html#cfn-directoryservice-simplead-vpcsettings-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::Pipeline.BlockerDeclaration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-blockers.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-blockers.html#cfn-codepipeline-pipeline-stages-blockers-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-blockers.html#cfn-codepipeline-pipeline-stages-blockers-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.KinesisAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-kinesis.html",
    "Properties": {
      "PartitionKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-kinesis.html#cfn-iot-kinesis-partitionkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-kinesis.html#cfn-iot-kinesis-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-kinesis.html#cfn-iot-kinesis-streamname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.PortMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-portmappings.html",
    "Properties": {
      "ContainerPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-portmappings.html#cfn-ecs-taskdefinition-containerdefinition-portmappings-containerport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "HostPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-portmappings.html#cfn-ecs-taskdefinition-containerdefinition-portmappings-readonly",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-portmappings.html#cfn-ecs-taskdefinition-containerdefinition-portmappings-sourcevolume",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ElasticBeanstalk::Environment.OptionSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html",
    "Properties": {
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html#cfn-beanstalk-optionsettings-namespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OptionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html#cfn-beanstalk-optionsettings-optionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html#cfn-beanstalk-optionsettings-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Elasticsearch::Domain.ElasticsearchClusterConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html",
    "Properties": {
      "DedicatedMasterCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-dedicatedmastercount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DedicatedMasterEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-dedicatedmasterenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DedicatedMasterType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-dedicatedmastertype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-instancecount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-instnacetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ZoneAwarenessEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticseachclusterconfig-zoneawarenessenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::CustomActionType.Settings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-settings.html",
    "Properties": {
      "EntityUrlTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-settings.html#cfn-codepipeline-customactiontype-settings-entityurltemplate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExecutionUrlTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-settings.html#cfn-codepipeline-customactiontype-settings-executionurltemplate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RevisionUrlTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-settings.html#cfn-codepipeline-customactiontype-settings-revisionurltemplate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThirdPartyConfigurationUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-settings.html#cfn-codepipeline-customactiontype-settings-thirdpartyconfigurationurl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.CloudwatchAlarmAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cloudwatchalarm.html",
    "Properties": {
      "AlarmName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cloudwatchalarm.html#cfn-iot-cloudwatchalarm-alarmname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cloudwatchalarm.html#cfn-iot-cloudwatchalarm-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StateReason": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cloudwatchalarm.html#cfn-iot-cloudwatchalarm-statereason",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StateValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cloudwatchalarm.html#cfn-iot-cloudwatchalarm-statevalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.Ulimit": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-ulimit.html",
    "Properties": {
      "HardLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-ulimit.html#cfn-ecs-taskdefinition-containerdefinition-ulimit-hardlimit",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-ulimit.html#cfn-ecs-taskdefinition-containerdefinition-ulimit-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SoftLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-ulimit.html#cfn-ecs-taskdefinition-containerdefinition-ulimit-softlimit",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::GameLift::Alias.RoutingStrategy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html",
    "Properties": {
      "FleetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html#cfn-gamelift-alias-routingstrategy-fleetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Message": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html#cfn-gamelift-alias-routingstrategy-message",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-alias-routingstrategy.html#cfn-gamelift-alias-routingstrategy-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::Function.Environment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html",
    "Properties": {
      "Variables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html#cfn-lambda-function-environment-variables",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Layer.LifecycleEventConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-lifecycleeventconfiguration.html",
    "Properties": {
      "ShutdownEventConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-lifecycleeventconfiguration.html#cfn-opsworks-layer-lifecycleconfiguration-shutdowneventconfiguration",
        "Required": false,
        "Type": "ShutdownEventConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Stack.RdsDbInstance": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-rdsdbinstance.html",
    "Properties": {
      "DbPassword": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-rdsdbinstance.html#cfn-opsworks-stack-rdsdbinstance-dbpassword",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DbUser": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-rdsdbinstance.html#cfn-opsworks-stack-rdsdbinstance-dbuser",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RdsDbInstanceArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-rdsdbinstance.html#cfn-opsworks-stack-rdsdbinstance-rdsdbinstancearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IAM::User.LoginProfile": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user-loginprofile.html",
    "Properties": {
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user-loginprofile.html#cfn-iam-user-loginprofile-password",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PasswordResetRequired": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user-loginprofile.html#cfn-iam-user-loginprofile-passwordresetrequired",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::ByteMatchSet.FieldToMatch": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples-fieldtomatch.html",
    "Properties": {
      "Data": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples-fieldtomatch.html#cfn-waf-bytematchset-bytematchtuples-fieldtomatch-data",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples-fieldtomatch.html#cfn-waf-bytematchset-bytematchtuples-fieldtomatch-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Stage.MethodSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html",
    "Properties": {
      "CacheDataEncrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-cachedataencrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CacheTtlInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-cachettlinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CachingEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-cachingenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DataTraceEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-datatraceenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HttpMethod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-httpmethod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LoggingLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-logginglevel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-metricsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourcePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-resourcepath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThrottlingBurstLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-throttlingburstlimit",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThrottlingRateLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-stage-methodsetting.html#cfn-apigateway-stage-methodsetting-throttlingratelimit",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-actions.html",
    "Properties": {
      "CloudwatchAlarm": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-actions.html#cfn-iot-action-cloudwatchalarm",
        "Required": false,
        "Type": "CloudwatchAlarmAction",
        "UpdateType": "Mutable"
      },
      "CloudwatchMetric": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-actions.html#cfn-iot-action-cloudwatchmetric",
        "Required": false,
        "Type": "CloudwatchMetricAction",
        "UpdateType": "Mutable"
      },
      "DynamoDB": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-actions.html#cfn-iot-action-dynamodb",
        "Required": false,
        "Type": "DynamoDBAction",
        "UpdateType": "Mutable"
      },
      "Elasticsearch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-actions.html#cfn-iot-action-elasticsearch",
        "Required": false,
        "Type": "ElasticsearchAction",
        "UpdateType": "Mutable"
      },
      "Firehose": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-actions.html#cfn-iot-action-firehose",
        "Required": false,
        "Type": "FirehoseAction",
        "UpdateType": "Mutable"
      },
      "Kinesis": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-actions.html#cfn-iot-action-kinesis",
        "Required": false,
        "Type": "KinesisAction",
        "UpdateType": "Mutable"
      },
      "Lambda": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-actions.html#cfn-iot-action-lambda",
        "Required": false,
        "Type": "LambdaAction",
        "UpdateType": "Mutable"
      },
      "Republish": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-actions.html#cfn-iot-action-republish",
        "Required": false,
        "Type": "RepublishAction",
        "UpdateType": "Mutable"
      },
      "S3": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-actions.html#cfn-iot-action-s3",
        "Required": false,
        "Type": "S3Action",
        "UpdateType": "Mutable"
      },
      "Sns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-actions.html#cfn-iot-action-sns",
        "Required": false,
        "Type": "SnsAction",
        "UpdateType": "Mutable"
      },
      "Sqs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-actions.html#cfn-iot-action-sqs",
        "Required": false,
        "Type": "SqsAction",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DynamoDB::Table.ProvisionedThroughput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-provisionedthroughput.html",
    "Properties": {
      "ReadCapacityUnits": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-provisionedthroughput.html#cfn-dynamodb-provisionedthroughput-readcapacityunits",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "WriteCapacityUnits": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-provisionedthroughput.html#cfn-dynamodb-provisionedthroughput-writecapacityunits",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Stack.Source": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html",
    "Properties": {
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-password",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Revision": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-revision",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SshKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-sshkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Url": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-url",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-username",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectionsettings.html",
    "Properties": {
      "IdleTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectionsettings.html#cfn-elb-connectionsettings-idletimeout",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.LoggingConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html",
    "Properties": {
      "DestinationBucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html#cfn-s3-bucket-loggingconfig-destinationbucketname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LogFilePrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html#cfn-s3-bucket-loggingconfig-logfileprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.CopyCommand": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-copycommand.html",
    "Properties": {
      "CopyOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-copycommand.html#cfn-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-copycommand-copyoptions",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DataTableColumns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-copycommand.html#cfn-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-copycommand-datatablecolumns",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DataTableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-copycommand.html#cfn-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-copycommand-datatablename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.OnPremisesInstanceTagFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters.html#cfn-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters.html#cfn-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters.html#cfn-properties-codedeploy-deploymentgroup-onpremisesinstancetagfilters-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DataPipeline::Pipeline.ParameterValue": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parametervalues.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parametervalues.html#cfn-datapipeline-pipeline-parametervalues-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StringValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-parametervalues.html#cfn-datapipeline-pipeline-parametervalues-stringvalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::UsagePlan.ApiStage": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-apiid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Stage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-stage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::ConfigurationRecorder.RecordingGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html",
    "Properties": {
      "AllSupported": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html#cfn-config-configurationrecorder-recordinggroup-allsupported",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IncludeGlobalResourceTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html#cfn-config-configurationrecorder-recordinggroup-includeglobalresourcetypes",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourceTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationrecorder-recordinggroup.html#cfn-config-configurationrecorder-recordinggroup-resourcetypes",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.RoutingRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html",
    "Properties": {
      "RedirectRule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html#cfn-s3-websiteconfiguration-routingrules-redirectrule",
        "Required": true,
        "Type": "RedirectRule",
        "UpdateType": "Mutable"
      },
      "RoutingRuleCondition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html#cfn-s3-websiteconfiguration-routingrules-routingrulecondition",
        "Required": false,
        "Type": "RoutingRuleCondition",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::WebACL.ActivatedRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-rules.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-rules.html#cfn-waf-webacl-rules-action",
        "Required": true,
        "Type": "WafAction",
        "UpdateType": "Mutable"
      },
      "Priority": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-rules.html#cfn-waf-webacl-rules-priority",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RuleId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-rules.html#cfn-waf-webacl-rules-ruleid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.DistributionConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html",
    "Properties": {
      "Aliases": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-aliases",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CacheBehaviors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-cachebehaviors",
        "DuplicatesAllowed": true,
        "ItemType": "CacheBehavior",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Comment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-comment",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CustomErrorResponses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-customerrorresponses",
        "DuplicatesAllowed": true,
        "ItemType": "CustomErrorResponse",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DefaultCacheBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-defaultcachebehavior",
        "Required": true,
        "Type": "DefaultCacheBehavior",
        "UpdateType": "Mutable"
      },
      "DefaultRootObject": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-defaultrootobject",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "HttpVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-httpversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Logging": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-logging",
        "Required": false,
        "Type": "Logging",
        "UpdateType": "Mutable"
      },
      "Origins": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-origins",
        "DuplicatesAllowed": true,
        "ItemType": "Origin",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PriceClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-priceclass",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Restrictions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-restrictions",
        "Required": false,
        "Type": "Restrictions",
        "UpdateType": "Mutable"
      },
      "ViewerCertificate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-viewercertificate",
        "Required": false,
        "Type": "ViewerCertificate",
        "UpdateType": "Mutable"
      },
      "WebACLId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig.html#cfn-cloudfront-distributionconfig-webaclid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.Logging": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-logging.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-logging.html#cfn-cloudfront-logging-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IncludeCookies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-logging.html#cfn-cloudfront-logging-includecookies",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-logging.html#cfn-cloudfront-logging-prefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.NoncurrentVersionTransition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html",
    "Properties": {
      "StorageClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition-storageclass",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TransitionInDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition-transitionindays",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53::RecordSet.GeoLocation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html",
    "Properties": {
      "ContinentCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-continentcode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CountryCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-countrycode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubdivisionCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html#cfn-route53-recordset-geolocation-subdivisioncode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::AutoScalingGroup.NotificationConfigurations": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-notificationconfigurations.html",
    "Properties": {
      "NotificationTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-notificationconfigurations.html#cfn-as-group-notificationconfigurations-notificationtypes",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TopicARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-notificationconfigurations.html#cfn-autoscaling-autoscalinggroup-notificationconfigurations-topicarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.BufferingHints": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-bufferinghints.html",
    "Properties": {
      "IntervalInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-bufferinghints.html#cfn-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-bufferinghints-intervalinseconds",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SizeInMBs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-bufferinghints.html#cfn-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-bufferinghints-sizeinmbs",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Elasticsearch::Domain.SnapshotOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-snapshotoptions.html",
    "Properties": {
      "AutomatedSnapshotStartHour": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-snapshotoptions.html#cfn-elasticsearch-domain-snapshotoptions-automatedsnapshotstarthour",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Layer.LoadBasedAutoScaling": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling.html",
    "Properties": {
      "DownScaling": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling.html#cfn-opsworks-layer-loadbasedautoscaling-downscaling",
        "Required": false,
        "Type": "AutoScalingThresholds",
        "UpdateType": "Mutable"
      },
      "Enable": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling.html#cfn-opsworks-layer-loadbasedautoscaling-enable",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UpScaling": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-loadbasedautoscaling.html#cfn-opsworks-layer-loadbasedautoscaling-upscaling",
        "Required": false,
        "Type": "AutoScalingThresholds",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApplicationAutoScaling::ScalingPolicy.StepAdjustment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html",
    "Properties": {
      "MetricIntervalLowerBound": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-metricintervallowerbound",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricIntervalUpperBound": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-metricintervalupperbound",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScalingAdjustment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration-stepadjustment-scalingadjustment",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration.html",
    "Properties": {
      "BucketARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-bucketarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "BufferingHints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-bufferinghints",
        "Required": true,
        "Type": "BufferingHints",
        "UpdateType": "Mutable"
      },
      "CloudWatchLoggingOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-cloudwatchloggingoptions",
        "Required": false,
        "Type": "CloudWatchLoggingOptions",
        "UpdateType": "Mutable"
      },
      "CompressionFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-compressionformat",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EncryptionConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-encryptionconfiguration",
        "Required": false,
        "Type": "EncryptionConfiguration",
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-prefix",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::Pipeline.StageTransition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-disableinboundstagetransitions.html",
    "Properties": {
      "Reason": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-disableinboundstagetransitions.html#cfn-codepipeline-pipeline-disableinboundstagetransitions-reason",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StageName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-disableinboundstagetransitions.html#cfn-codepipeline-pipeline-disableinboundstagetransitions-stagename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.DefaultCacheBehavior": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html",
    "Properties": {
      "AllowedMethods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-allowedmethods",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CachedMethods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-cachedmethods",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Compress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-compress",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-defaultttl",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ForwardedValues": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-forwardedvalues",
        "Required": true,
        "Type": "ForwardedValues",
        "UpdateType": "Mutable"
      },
      "MaxTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-maxttl",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-minttl",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SmoothStreaming": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-smoothstreaming",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetOriginId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-targetoriginid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TrustedSigners": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-trustedsigners",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ViewerProtocolPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-defaultcachebehavior.html#cfn-cloudfront-defaultcachebehavior-viewerprotocolpolicy",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IAM::Group.Policy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html",
    "Properties": {
      "PolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html#cfn-iam-policies-policydocument",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PolicyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html#cfn-iam-policies-policyname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.SpotFleetRequestConfigData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html",
    "Properties": {
      "AllocationStrategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-allocationstrategy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExcessCapacityTerminationPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-excesscapacityterminationpolicy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IamFleetRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-iamfleetrole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "LaunchSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications",
        "DuplicatesAllowed": false,
        "ItemType": "LaunchSpecifications",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SpotPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-spotprice",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-targetcapacity",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TerminateInstancesWithExpiration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-terminateinstanceswithexpiration",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ValidFrom": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-validfrom",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ValidUntil": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-validuntil",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-retryoptions.html",
    "Properties": {
      "DurationInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-retryoptions.html#cfn-kinesisfirehose-kinesisdeliverystream-elasticsearchdestinationconfiguration-retryoptions-durationinseconds",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53::HealthCheck.HealthCheckTag": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktags.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktags.html#cfn-route53-healthchecktags-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktags.html#cfn-route53-healthchecktags-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::CustomActionType.ArtifactDetails": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-artifactdetails.html",
    "Properties": {
      "MaximumCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-artifactdetails.html#cfn-codepipeline-customactiontype-artifactdetails-maximumcount",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MinimumCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-artifactdetails.html#cfn-codepipeline-customactiontype-artifactdetails-minimumcount",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53::RecordSetGroup.AliasTarget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html",
    "Properties": {
      "DNSName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-dnshostname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EvaluateTargetHealth": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HostedZoneId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-hostedzoneid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.VersioningConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-versioningconfig.html",
    "Properties": {
      "Status": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-versioningconfig.html#cfn-s3-bucket-versioningconfig-status",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.GitHubLocation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-githublocation.html",
    "Properties": {
      "CommitId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-githublocation.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-githublocation-commitid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Repository": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment-revision-githublocation.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision-githublocation-repository",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::Pipeline.ActionTypeId": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-actiontypeid.html",
    "Properties": {
      "Category": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-actiontypeid.html#cfn-codepipeline-pipeline-stages-actions-actiontypeid-category",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Owner": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-actiontypeid.html#cfn-codepipeline-pipeline-stages-actions-actiontypeid-owner",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Provider": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-actiontypeid.html#cfn-codepipeline-pipeline-stages-actions-actiontypeid-provider",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-actiontypeid.html#cfn-codepipeline-pipeline-stages-actions-actiontypeid-version",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.FilterRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html#cfn-s3-bucket-notificationconfiguraiton-config-filter-s3key-rules-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html#cfn-s3-bucket-notificationconfiguraiton-config-filter-s3key-rules-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::AutoScalingGroup.TagProperty": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-tags.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-tags.html#cfn-as-tags-Key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PropagateAtLaunch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-tags.html#cfn-as-tags-PropagateAtLaunch",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-tags.html#cfn-as-tags-Value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticBeanstalk::ApplicationVersion.SourceBundle": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-sourcebundle.html",
    "Properties": {
      "S3Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-sourcebundle.html#cfn-beanstalk-sourcebundle-s3bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-sourcebundle.html#cfn-beanstalk-sourcebundle-s3key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Step.KeyValue": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-keyvalue.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-keyvalue.html#cfn-elasticmapreduce-step-keyvalue-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-step-keyvalue.html#cfn-elasticmapreduce-step-keyvalue-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CodePipeline::Pipeline.OutputArtifact": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-outputartifacts.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions-outputartifacts.html#cfn-codepipeline-pipeline-stages-actions-outputartifacts-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53::HostedZone.VPC": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone-hostedzonevpcs.html",
    "Properties": {
      "VPCId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone-hostedzonevpcs.html#cfn-route53-hostedzone-hostedzonevpcs-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VPCRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone-hostedzonevpcs.html#cfn-route53-hostedzone-hostedzonevpcs-vpcregion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Stack.ChefConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-chefconfiguration.html",
    "Properties": {
      "BerkshelfVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-chefconfiguration.html#cfn-opsworks-chefconfiguration-berkshelfversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ManageBerkshelf": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-chefconfiguration.html#cfn-opsworks-chefconfiguration-berkshelfversion",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "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"
      }
    }
  },
  "AWS::Route53::HostedZone.HostedZoneTag": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzonetags.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzonetags.html#cfn-route53-hostedzonetags-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzonetags.html#cfn-route53-hostedzonetags-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::Thing.AttributePayload": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html",
    "Properties": {
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-thing-attributepayload.html#cfn-iot-thing-attributepayload-attributes",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::Rule.Target": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html",
    "Properties": {
      "Arn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-arn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Input": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InputPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::App.EnvironmentVariable": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-environment.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-environment.html#cfn-opsworks-app-environment-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Secure": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-environment.html#cfn-opsworks-app-environment-secure",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-environment.html#value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::UsagePlan.QuotaSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html",
    "Properties": {
      "Limit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html#cfn-apigateway-usageplan-quotasettings-limit",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Offset": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html#cfn-apigateway-usageplan-quotasettings-offset",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Period": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-quotasettings.html#cfn-apigateway-usageplan-quotasettings-period",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.BlockDeviceMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html",
    "Properties": {
      "DeviceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-devicename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Ebs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-ebs",
        "Required": false,
        "Type": "Ebs",
        "UpdateType": "Mutable"
      },
      "NoDevice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-nodevice",
        "Required": false,
        "Type": "NoDevice",
        "UpdateType": "Mutable"
      },
      "VirtualName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html#cfn-ec2-blockdev-mapping-virtualname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DataPipeline::Pipeline.Field": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects-fields.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects-fields.html#cfn-datapipeline-pipeline-pipelineobjects-fields-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RefValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects-fields.html#cfn-datapipeline-pipeline-pipelineobjects-fields-refvalue",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StringValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datapipeline-pipeline-pipelineobjects-fields.html#cfn-datapipeline-pipeline-pipelineobjects-fields-stringvalue",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.NotificationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html",
    "Properties": {
      "LambdaConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig",
        "DuplicatesAllowed": false,
        "ItemType": "LambdaConfiguration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "QueueConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-queueconfig",
        "DuplicatesAllowed": false,
        "ItemType": "QueueConfiguration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TopicConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-topicconfig",
        "DuplicatesAllowed": false,
        "ItemType": "TopicConfiguration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Logs::MetricFilter.MetricTransformation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html",
    "Properties": {
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-cwl-metricfilter-metrictransformation-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MetricNamespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-cwl-metricfilter-metrictransformation-metricnamespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MetricValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-cwl-metricfilter-metrictransformation-metricvalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53::RecordSet.AliasTarget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html",
    "Properties": {
      "DNSName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-dnshostname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EvaluateTargetHealth": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HostedZoneId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-hostedzoneid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-encryptionconfiguration-kmsencryptionconfig.html",
    "Properties": {
      "AWSKMSKeyARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-encryptionconfiguration-kmsencryptionconfig.html#cfn-kinesisfirehose-kinesisdeliverystream-s3destinationconfiguration-encryptionconfiguration-kmsencryptionconfig-awskmskeyarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GameLift::Build.S3Location": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html#cfn-gamelift-build-storage-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html#cfn-gamelift-build-storage-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html#cfn-gamelift-build-storage-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EMR::Cluster.VolumeSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html",
    "Properties": {
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SizeInGB": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification-sizeingb",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification-volumetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::ByteMatchSet.ByteMatchTuple": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples.html",
    "Properties": {
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples.html#cfn-waf-bytematchset-bytematchtuples-fieldtomatch",
        "Required": true,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "PositionalConstraint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples.html#cfn-waf-bytematchset-bytematchtuples-positionalconstraint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples.html#cfn-waf-bytematchset-bytematchtuples-targetstring",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetStringBase64": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples.html#cfn-waf-bytematchset-bytematchtuples-targetstringbase64",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TextTransformation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples.html#cfn-waf-bytematchset-bytematchtuples-texttransformation",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::CustomActionType.ConfigurationProperties": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-key",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Queryable": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-queryable",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Required": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-required",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Secret": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-secret",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-customactiontype-configurationproperties.html#cfn-codepipeline-customactiontype-configurationproperties-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.MountPoint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-mountpoints.html",
    "Properties": {
      "ContainerPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-mountpoints.html#cfn-ecs-taskdefinition-containerdefinition-mountpoints-containerpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ReadOnly": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-mountpoints.html#cfn-ecs-taskdefinition-containerdefinition-mountpoints-readonly",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SourceVolume": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-mountpoints.html#cfn-ecs-taskdefinition-containerdefinition-mountpoints-sourcevolume",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::IoT::TopicRule.CloudwatchMetricAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cloudwatchmetric.html",
    "Properties": {
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cloudwatchmetric.html#cfn-iot-cloudwatchmetric-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MetricNamespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cloudwatchmetric.html#cfn-iot-cloudwatchmetric-metricnamespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MetricTimestamp": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cloudwatchmetric.html#cfn-iot-cloudwatchmetric-metrictimestamp",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricUnit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cloudwatchmetric.html#cfn-iot-cloudwatchmetric-metricunit",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MetricValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cloudwatchmetric.html#cfn-iot-cloudwatchmetric-metricvalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-cloudwatchmetric.html#cfn-iot-cloudwatchmetric-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.Application": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-application.html",
    "Properties": {
      "AdditionalInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-application.html#cfn-emr-cluster-application-additionalinfo",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "Args": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-application.html#cfn-emr-cluster-application-args",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-application.html#cfn-emr-cluster-application-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-application.html#cfn-emr-cluster-application-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.Restrictions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions.html",
    "Properties": {
      "GeoRestriction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions.html#cfn-cloudfront-distributionconfig-restrictions-georestriction",
        "Required": true,
        "Type": "GeoRestriction",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53::RecordSetGroup.RecordSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html",
    "Properties": {
      "AliasTarget": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-aliastarget",
        "Required": false,
        "Type": "AliasTarget",
        "UpdateType": "Mutable"
      },
      "Comment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-comment",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Failover": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-failover",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GeoLocation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-geolocation",
        "Required": false,
        "Type": "GeoLocation",
        "UpdateType": "Mutable"
      },
      "HealthCheckId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-healthcheckid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HostedZoneId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzoneid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HostedZoneName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzonename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Region": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-region",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourceRecords": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-resourcerecords",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SetIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-setidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-ttl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Weight": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-weight",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerRule.Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html",
    "Properties": {
      "TargetGroupArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listener-actions-targetgrouparn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listener-actions-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::Pipeline.EncryptionKey": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore-encryptionkey.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore-encryptionkey.html#cfn-codepipeline-pipeline-artifactstore-encryptionkey-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstore-encryptionkey.html#cfn-codepipeline-pipeline-artifactstore-encryptionkey-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.Ec2TagFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilters.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilters.html#cfn-properties-codedeploy-deploymentgroup-ec2tagfilters-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilters.html#cfn-properties-codedeploy-deploymentgroup-ec2tagfilters-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilters.html#cfn-properties-codedeploy-deploymentgroup-ec2tagfilters-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig.VolumeSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html",
    "Properties": {
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SizeInGB": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification-sizeingb",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification-volumetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancing::LoadBalancer.Policies": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html",
    "Properties": {
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-attributes",
        "DuplicatesAllowed": false,
        "ItemType": "json",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "InstancePorts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-instanceports",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "LoadBalancerPorts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-loadbalancerports",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PolicyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-policyname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PolicyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-policytype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::ApiKey.StageKey": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-apikey-stagekey.html",
    "Properties": {
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-apikey-stagekey.html#cfn-apigateway-apikey-stagekey-restapiid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StageName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-apikey-stagekey.html#cfn-apigateway-apikey-stagekey-stagename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Stack.ElasticIp": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-elasticip.html",
    "Properties": {
      "Ip": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-elasticip.html#cfn-opsworks-stack-elasticip-ip",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-elasticip.html#cfn-opsworks-stack-elasticip-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.EbsBlockDeviceConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig.html",
    "Properties": {
      "VolumeSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfig-volumespecification",
        "Required": true,
        "Type": "VolumeSpecification",
        "UpdateType": "Mutable"
      },
      "VolumesPerInstance": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration-ebsblockdeviceconfig.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfig-volumesperinstance",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DynamoDB::Table.GlobalSecondaryIndex": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-gsi.html",
    "Properties": {
      "IndexName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-gsi.html#cfn-dynamodb-gsi-indexname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "KeySchema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-gsi.html#cfn-dynamodb-gsi-keyschema",
        "DuplicatesAllowed": true,
        "ItemType": "KeySchema",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Projection": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-gsi.html#cfn-dynamodb-gsi-projection",
        "Required": true,
        "Type": "Projection",
        "UpdateType": "Mutable"
      },
      "ProvisionedThroughput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-gsi.html#cfn-dynamodb-gsi-provisionedthroughput",
        "Required": true,
        "Type": "ProvisionedThroughput",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::OptionGroup.OptionSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations-optionsettings.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations-optionsettings.html#cfn-rds-optiongroup-optionconfigurations-optionsettings-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations-optionsettings.html#cfn-rds-optiongroup-optionconfigurations-optionsettings-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.RedirectRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html",
    "Properties": {
      "HostName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-hostname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HttpRedirectCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-httpredirectcode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-protocol",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReplaceKeyPrefixWith": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-replacekeyprefixwith",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReplaceKeyWith": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-replacekeywith",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SecurityGroup.Rule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html",
    "Properties": {
      "CidrIp": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidrip",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FromPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-fromport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IpProtocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-ipprotocol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SourceSecurityGroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-sourcesecuritygroupid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SourceSecurityGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-sourcesecuritygroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SourceSecurityGroupOwnerId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-sourcesecuritygroupownerid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ToPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-toport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DynamoDB::Table.StreamSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-streamspecification.html",
    "Properties": {
      "StreamViewType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-streamspecification.html#cfn-dynamodb-streamspecification-streamviewtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.Deployment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment.html#cfn-properties-codedeploy-deploymentgroup-deployment-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IgnoreApplicationStopFailures": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment.html#cfn-properties-codedeploy-deploymentgroup-deployment-ignoreapplicationstopfailures",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Revision": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deployment.html#cfn-properties-codedeploy-deploymentgroup-deployment-revision",
        "Required": true,
        "Type": "Revision",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.PlacementType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig-placementtype.html",
    "Properties": {
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig-placementtype.html#aws-properties-emr-cluster-jobflowinstancesconfig-placementtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerRule.RuleCondition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html",
    "Properties": {
      "Field": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-conditions-field",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-conditions-values",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Deployment.StageDescription": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html",
    "Properties": {
      "CacheClusterEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclusterenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CacheClusterSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclustersize",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CacheDataEncrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachedataencrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CacheTtlInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachettlinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CachingEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachingenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ClientCertificateId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-clientcertificateid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DataTraceEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-datatraceenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LoggingLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-logginglevel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MethodSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-methodsettings",
        "DuplicatesAllowed": false,
        "ItemType": "MethodSetting",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MetricsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-metricsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StageName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-stagename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThrottlingBurstLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-throttlingburstlimit",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThrottlingRateLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-throttlingratelimit",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Variables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-variables",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.PrivateIpAddressSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html",
    "Properties": {
      "Primary": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-primary",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PrivateIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-interface-privateipspec.html#cfn-ec2-networkinterface-privateipspecification-privateipaddress",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.RedirectAllRequestsTo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-redirectallrequeststo.html",
    "Properties": {
      "HostName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-redirectallrequeststo.html#cfn-s3-websiteconfiguration-redirectallrequeststo-hostname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-redirectallrequeststo.html#cfn-s3-websiteconfiguration-redirectallrequeststo-protocol",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::XssMatchSet.XssMatchTuple": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple.html",
    "Properties": {
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple.html#cfn-waf-xssmatchset-xssmatchtuple-fieldtomatch",
        "Required": true,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "TextTransformation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple.html#cfn-waf-xssmatchset-xssmatchtuple-texttransformation",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IAM::User.Policy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html",
    "Properties": {
      "PolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html#cfn-iam-policies-policydocument",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PolicyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html#cfn-iam-policies-policyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.HostVolumeProperties": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes-host.html",
    "Properties": {
      "SourcePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes-host.html#cfn-ecs-taskdefinition-volumes-host-sourcepath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration.html",
    "Properties": {
      "CloudWatchLoggingOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-cloudwatchloggingoptions",
        "Required": false,
        "Type": "CloudWatchLoggingOptions",
        "UpdateType": "Mutable"
      },
      "ClusterJDBCuri": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-clusterjdbcuri",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "CopyCommand": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-copycommand",
        "Required": true,
        "Type": "CopyCommand",
        "UpdateType": "Mutable"
      },
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-password",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3Configuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-s3configuration",
        "Required": true,
        "Type": "S3DestinationConfiguration",
        "UpdateType": "Mutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-kinesisdeliverystream-redshiftdestinationconfiguration-usename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.S3KeyFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key.html",
    "Properties": {
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key.html#cfn-s3-bucket-notificationconfiguraiton-config-filter-s3key-rules",
        "DuplicatesAllowed": false,
        "ItemType": "FilterRule",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Elasticsearch::Domain.EBSOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-ebsoptions.html",
    "Properties": {
      "EBSEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-ebsoptions.html#cfn-elasticsearch-domain-ebsoptions-ebsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-ebsoptions.html#cfn-elasticsearch-domain-ebsoptions-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-ebsoptions.html#cfn-elasticsearch-domain-ebsoptions-volumesize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-ebsoptions.html#cfn-elasticsearch-domain-ebsoptions-volumetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Instance.TimeBasedAutoScaling": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html",
    "Properties": {
      "Friday": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-friday",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "Monday": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-monday",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "Saturday": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-saturday",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "Sunday": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-sunday",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "Thursday": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-thursday",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "Tuesday": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-tuesday",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "Wednesday": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-instance-timebasedautoscaling.html#cfn-opsworks-instance-timebasedautoscaling-wednesday",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::ConfigRule.SourceDetail": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source-sourcedetails.html",
    "Properties": {
      "EventSource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source-sourcedetails.html#cfn-config-configrule-source-sourcedetail-eventsource",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MessageType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source-sourcedetails.html#cfn-config-configrule-source-sourcedetail-messagetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::App.SslConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-sslconfiguration.html",
    "Properties": {
      "Certificate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-sslconfiguration.html#cfn-opsworks-app-sslconfig-certificate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Chain": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-sslconfiguration.html#cfn-opsworks-app-sslconfig-chain",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-app-sslconfiguration.html#cfn-opsworks-app-sslconfig-privatekey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-AppCookieStickinessPolicy.html",
    "Properties": {
      "CookieName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-AppCookieStickinessPolicy.html#cfn-elb-appcookiestickinesspolicy-cookiename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PolicyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-AppCookieStickinessPolicy.html#cfn-elb-appcookiestickinesspolicy-policyname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html",
    "Properties": {
      "PrimaryAvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-primaryavailabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ReplicaAvailabilityZones": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-replicaavailabilityzones",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "ReplicaCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-replicacount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Slots": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-slots",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html",
    "Properties": {
      "CookieExpirationPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html#cfn-elb-lbcookiestickinesspolicy-cookieexpirationperiod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PolicyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html#cfn-elb-lbcookiestickinesspolicy-policyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.Volume": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html",
    "Properties": {
      "Device": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html#cfn-ec2-mountpoint-device",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VolumeId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-mount-point.html#cfn-ec2-mountpoint-volumeid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::OptionGroup.OptionConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html",
    "Properties": {
      "DBSecurityGroupMemberships": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-dbsecuritygroupmemberships",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "OptionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-optionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OptionSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-optionsettings",
        "Required": false,
        "Type": "OptionSetting",
        "UpdateType": "Mutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VpcSecurityGroupMemberships": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfigurations-vpcsecuritygroupmemberships",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::App.Source": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html",
    "Properties": {
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-pw",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Revision": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-revision",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SshKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-sshkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Url": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-url",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-stack-source.html#cfn-opsworks-custcookbooksource-username",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticBeanstalk::Environment.Tier": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment-tier.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment-tier.html#cfn-beanstalk-env-tier-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment-tier.html#cfn-beanstalk-env-tier-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment-tier.html#cfn-beanstalk-env-tier-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::NetworkAclEntry.PortRange": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-portrange.html",
    "Properties": {
      "From": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-portrange.html#cfn-ec2-networkaclentry-portrange-from",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "To": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-portrange.html#cfn-ec2-networkaclentry-portrange-to",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.Origin": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html",
    "Properties": {
      "CustomOriginConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-customorigin",
        "Required": false,
        "Type": "CustomOriginConfig",
        "UpdateType": "Mutable"
      },
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-domainname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OriginCustomHeaders": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-origincustomheaders",
        "DuplicatesAllowed": true,
        "ItemType": "OriginCustomHeader",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "OriginPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-originpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "S3OriginConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-s3origin",
        "Required": false,
        "Type": "S3OriginConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53::HostedZone.HostedZoneConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzoneconfig.html",
    "Properties": {
      "Comment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-hostedzoneconfig.html#cfn-route53-hostedzone-hostedzoneconfig-comment",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.FirehoseAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-firehose.html",
    "Properties": {
      "DeliveryStreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-firehose.html#cfn-iot-firehose-deliverystreamname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-firehose.html#cfn-iot-firehose-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.AssociationParameter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html#cfn-ec2-instance-ssmassociations-associationparameters-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations-associationparameters.html#cfn-ec2-instance-ssmassociations-associationparameters-value",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.TopicRulePayload": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrulepayload.html",
    "Properties": {
      "Actions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrulepayload.html#cfn-iot-topicrulepayload-actions",
        "DuplicatesAllowed": false,
        "ItemType": "Action",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AwsIotSqlVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrulepayload.html#cfn-iot-topicrulepayload-awsiotsqlversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrulepayload.html#cfn-iot-topicrulepayload-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RuleDisabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrulepayload.html#cfn-iot-topicrulepayload-ruledisabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Sql": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrulepayload.html#cfn-iot-topicrulepayload-sql",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectiondrainingpolicy.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectiondrainingpolicy.html#cfn-elb-connectiondrainingpolicy-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Timeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectiondrainingpolicy.html#cfn-elb-connectiondrainingpolicy-timeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.VolumeFrom": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-volumesfrom.html",
    "Properties": {
      "ReadOnly": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-volumesfrom.html#cfn-ecs-taskdefinition-containerdefinition-volumesfrom-readonly",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SourceContainer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-volumesfrom.html#cfn-ecs-taskdefinition-containerdefinition-volumesfrom-sourcecontainer",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig.EbsConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration.html",
    "Properties": {
      "EbsBlockDeviceConfigs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration.html#cfn-emr-ebsconfiguration-ebsblockdeviceconfigs",
        "DuplicatesAllowed": false,
        "ItemType": "EbsBlockDeviceConfig",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EbsOptimized": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-ebsconfiguration.html#cfn-emr-ebsconfiguration-ebsoptimized",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.WebsiteConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html",
    "Properties": {
      "ErrorDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-errordocument",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IndexDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-indexdocument",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RedirectAllRequestsTo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-redirectallrequeststo",
        "Required": false,
        "Type": "RedirectAllRequestsTo",
        "UpdateType": "Mutable"
      },
      "RoutingRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-routingrules",
        "DuplicatesAllowed": false,
        "ItemType": "RoutingRule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.GeoRestriction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions-georestriction.html",
    "Properties": {
      "Locations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions-georestriction.html#cfn-cloudfront-distributionconfig-restrictions-georestriction-locations",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RestrictionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributionconfig-restrictions-georestriction.html#cfn-cloudfront-distributionconfig-restrictions-georestriction-restrictiontype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EFS::FileSystem.ElasticFileSystemTag": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-filesystemtags.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-filesystemtags.html#cfn-efs-filesystem-filesystemtags-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-filesystemtags.html#cfn-efs-filesystem-filesystemtags-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  }
},
"ResourceTypes": {
  "AWS::ElasticBeanstalk::ConfigurationTemplate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-beanstalk-configurationtemplate.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-beanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-applicationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-beanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnvironmentId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-beanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-environmentid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "OptionSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-beanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-optionsettings",
        "DuplicatesAllowed": true,
        "ItemType": "ConfigurationOptionSetting",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SolutionStackName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-beanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-solutionstackname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SourceConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-beanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-sourceconfiguration",
        "Required": false,
        "Type": "SourceConfiguration",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::RouteTable": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route-table.html",
    "Properties": {
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route-table.html#cfn-ec2-routetable-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route-table.html#cfn-ec2-routetable-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Events::Rule": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EventPattern": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScheduleExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "State": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Targets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets",
        "DuplicatesAllowed": false,
        "ItemType": "Target",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::IPSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html",
    "Properties": {
      "IPSetDescriptors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html#cfn-waf-ipset-ipsetdescriptors",
        "DuplicatesAllowed": false,
        "ItemType": "IPSetDescriptor",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html#cfn-waf-ipset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::IAM::Group": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html",
    "Properties": {
      "GroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html#cfn-iam-group-groupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ManagedPolicyArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html#cfn-iam-group-managepolicyarns",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html#cfn-iam-group-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Policies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html#cfn-iam-group-policies",
        "DuplicatesAllowed": false,
        "ItemType": "Policy",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53::HostedZone": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html",
    "Properties": {
      "HostedZoneConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-hostedzoneconfig",
        "Required": false,
        "Type": "HostedZoneConfig",
        "UpdateType": "Mutable"
      },
      "HostedZoneTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-hostedzonetags",
        "DuplicatesAllowed": true,
        "ItemType": "HostedZoneTag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "VPCs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-vpcs",
        "DuplicatesAllowed": true,
        "ItemType": "VPC",
        "Required": false,
        "Type": "List",
        "UpdateType": "Conditional"
      }
    }
  },
  "AWS::CodePipeline::CustomActionType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html",
    "Properties": {
      "Category": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-category",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ConfigurationProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-configurationproperties",
        "DuplicatesAllowed": false,
        "ItemType": "ConfigurationProperties",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "InputArtifactDetails": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-inputartifactdetails",
        "Required": true,
        "Type": "ArtifactDetails",
        "UpdateType": "Immutable"
      },
      "OutputArtifactDetails": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-outputartifactdetails",
        "Required": true,
        "Type": "ArtifactDetails",
        "UpdateType": "Immutable"
      },
      "Provider": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-provider",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Settings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-settings",
        "Required": false,
        "Type": "Settings",
        "UpdateType": "Immutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::RestApi": {
    "Attributes": {
      "RootResourceId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html",
    "Properties": {
      "Body": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "BodyS3Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-bodys3location",
        "Required": false,
        "Type": "S3Location",
        "UpdateType": "Mutable"
      },
      "CloneFrom": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-clonefrom",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FailOnWarnings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-failonwarnings",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Mode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-mode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-parameters",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Subnet": {
    "Attributes": {
      "AvailabilityZone": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html",
    "Properties": {
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "CidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-cidrblock",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "MapPublicIpOnLaunch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-mappubliciponlaunch",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-awsec2subnet-prop-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CodeDeploy::Application": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html#cfn-codedeploy-application-applicationname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::PlacementGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html",
    "Properties": {
      "Strategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html#cfn-ec2-placementgroup-strategy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::VPCPeeringConnection": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html",
    "Properties": {
      "PeerVpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-peervpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Elasticsearch::Domain": {
    "Attributes": {
      "DomainArn": {
        "PrimitiveType": "String"
      },
      "DomainEndpoint": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html",
    "Properties": {
      "AccessPolicies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-accesspolicies",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AdvancedOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-advancedoptions",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-domainname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EBSOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-ebsoptions",
        "Required": false,
        "Type": "EBSOptions",
        "UpdateType": "Mutable"
      },
      "ElasticsearchClusterConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-elasticsearchclusterconfig",
        "Required": false,
        "Type": "ElasticsearchClusterConfig",
        "UpdateType": "Mutable"
      },
      "ElasticsearchVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-elasticsearchversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SnapshotOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-snapshotoptions",
        "Required": false,
        "Type": "SnapshotOptions",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::VPC": {
    "Attributes": {
      "CidrBlock": {
        "PrimitiveType": "String"
      },
      "DefaultNetworkAcl": {
        "PrimitiveType": "String"
      },
      "DefaultSecurityGroup": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html",
    "Properties": {
      "CidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-cidrblock",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "EnableDnsHostnames": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-EnableDnsHostnames",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnableDnsSupport": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-EnableDnsSupport",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceTenancy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-instancetenancy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::RDS::DBSecurityGroupIngress": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html",
    "Properties": {
      "CIDRIP": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html#cfn-rds-securitygroup-ingress-cidrip",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DBSecurityGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html#cfn-rds-securitygroup-ingress-dbsecuritygroupname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EC2SecurityGroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html#cfn-rds-securitygroup-ingress-ec2securitygroupid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EC2SecurityGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html#cfn-rds-securitygroup-ingress-ec2securitygroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EC2SecurityGroupOwnerId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-security-group-ingress.html#cfn-rds-securitygroup-ingress-ec2securitygroupownerid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WorkSpaces::Workspace": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html",
    "Properties": {
      "BundleId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-bundleid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Conditional"
      },
      "DirectoryId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-directoryid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Conditional"
      },
      "RootVolumeEncryptionEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-rootvolumeencryptionenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "UserName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-username",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "UserVolumeEncryptionEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-uservolumeencryptionenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "VolumeEncryptionKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-volumeencryptionkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      }
    }
  },
  "AWS::EC2::Instance": {
    "Attributes": {
      "AvailabilityZone": {
        "PrimitiveType": "String"
      },
      "PrivateDnsName": {
        "PrimitiveType": "String"
      },
      "PrivateIp": {
        "PrimitiveType": "String"
      },
      "PublicDnsName": {
        "PrimitiveType": "String"
      },
      "PublicIp": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html",
    "Properties": {
      "AdditionalInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-additionalinfo",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "Affinity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-affinity",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BlockDeviceMappings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-blockdevicemappings",
        "DuplicatesAllowed": true,
        "ItemType": "BlockDeviceMapping",
        "Required": false,
        "Type": "List",
        "UpdateType": "Conditional"
      },
      "DisableApiTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-disableapitermination",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EbsOptimized": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ebsoptimized",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "HostId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-hostid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "IamInstanceProfile": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-iaminstanceprofile",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ImageId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-imageid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InstanceInitiatedShutdownBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-instanceinitiatedshutdownbehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-instancetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "KernelId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-kernelid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "KeyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-keyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Monitoring": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-monitoring",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NetworkInterfaces": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-networkinterfaces",
        "DuplicatesAllowed": true,
        "ItemType": "NetworkInterface",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "PlacementGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-placementgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PrivateIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-privateipaddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RamdiskId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ramdiskid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-securitygroupids",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Conditional"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-securitygroups",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "SourceDestCheck": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-sourcedestcheck",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SsmAssociations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ssmassociations",
        "DuplicatesAllowed": true,
        "ItemType": "SsmAssociation",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tenancy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-tenancy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "UserData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-userdata",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "Volumes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-volumes",
        "DuplicatesAllowed": true,
        "ItemType": "Volume",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Logs::LogGroup": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html",
    "Properties": {
      "LogGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-cwl-loggroup-loggroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RetentionInDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-cwl-loggroup-retentionindays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFormation::Stack": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html",
    "Properties": {
      "NotificationARNs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-notificationarns",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-parameters",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TemplateURL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-templateurl",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TimeoutInMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-timeoutinminutes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Kinesis::Stream": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ShardCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-shardcount",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::LaunchConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html",
    "Properties": {
      "AssociatePublicIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cf-as-launchconfig-associatepubip",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BlockDeviceMappings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-blockdevicemappings",
        "DuplicatesAllowed": false,
        "ItemType": "BlockDeviceMappingResource",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "ClassicLinkVPCId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-classiclinkvpcid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ClassicLinkVPCSecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-classiclinkvpcsecuritygroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "EbsOptimized": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-ebsoptimized",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "IamInstanceProfile": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-iaminstanceprofile",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ImageId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-imageid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InstanceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-instanceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "InstanceMonitoring": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-instancemonitoring",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "KernelId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-kernelid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "KeyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-keyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PlacementTenancy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-placementtenancy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RamDiskId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-ramdiskid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-securitygroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "SpotPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-spotprice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "UserData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-as-launchconfig-userdata",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SQS::Queue": {
    "Attributes": {
      "QueueArn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html",
    "Properties": {
      "DelaySeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-delayseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaximumMessageSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-maxmesgsize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MessageRetentionPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-msgretentionperiod",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "QueueName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ReceiveMessageWaitTimeSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-receivemsgwaittime",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RedrivePolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-redrive",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VisibilityTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-visiblitytimeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElastiCache::ParameterGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html",
    "Properties": {
      "CacheParameterGroupFamily": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html#cfn-elasticache-parametergroup-cacheparametergroupfamily",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html#cfn-elasticache-parametergroup-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Properties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-parameter-group.html#cfn-elasticache-parametergroup-properties",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::ByteMatchSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html",
    "Properties": {
      "ByteMatchTuples": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html#cfn-waf-bytematchset-bytematchtuples",
        "DuplicatesAllowed": false,
        "ItemType": "ByteMatchTuple",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html#cfn-waf-bytematchset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SQS::QueuePolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html",
    "Properties": {
      "PolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html#cfn-sqs-queuepolicy-policydoc",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Queues": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html#cfn-sqs-queuepolicy-queues",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::SqlInjectionMatchSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html#cfn-waf-sqlinjectionmatchset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SqlInjectionMatchTuples": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html#cfn-waf-sqlinjectionmatchset-sqlinjectionmatchtuples",
        "DuplicatesAllowed": false,
        "ItemType": "SqlInjectionMatchTuple",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApplicationAutoScaling::ScalingPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html",
    "Properties": {
      "PolicyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-policyname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "PolicyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-policytype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ResourceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-resourceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ScalableDimension": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-scalabledimension",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ScalingTargetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-scalingtargetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ServiceNamespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-servicenamespace",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StepScalingPolicyConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration",
        "Required": false,
        "Type": "StepScalingPolicyConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EFS::FileSystem": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html",
    "Properties": {
      "FileSystemTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-filesystemtags",
        "DuplicatesAllowed": false,
        "ItemType": "ElasticFileSystemTag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PerformanceMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-performancemode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Route53::RecordSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html",
    "Properties": {
      "AliasTarget": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-aliastarget",
        "Required": false,
        "Type": "AliasTarget",
        "UpdateType": "Mutable"
      },
      "Comment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-comment",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Failover": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-failover",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GeoLocation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-geolocation",
        "Required": false,
        "Type": "GeoLocation",
        "UpdateType": "Mutable"
      },
      "HealthCheckId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-healthcheckid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HostedZoneId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzoneid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "HostedZoneName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-hostedzonename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Region": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-region",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourceRecords": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-resourcerecords",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SetIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-setidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-ttl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Weight": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-weight",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::SizeConstraintSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html#cfn-waf-sizeconstraintset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SizeConstraints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html#cfn-waf-sizeconstraintset-sizeconstraints",
        "DuplicatesAllowed": false,
        "ItemType": "SizeConstraint",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::NetworkAclEntry": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html",
    "Properties": {
      "CidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-cidrblock",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Egress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-egress",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Icmp": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-icmp",
        "Required": false,
        "Type": "Icmp",
        "UpdateType": "Mutable"
      },
      "NetworkAclId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-networkaclid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "PortRange": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-portrange",
        "Required": false,
        "Type": "PortRange",
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-protocol",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RuleAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-ruleaction",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RuleNumber": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-rulenumber",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::IAM::Policy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html",
    "Properties": {
      "Groups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-groups",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PolicyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policyname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Roles": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-roles",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Users": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-users",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::InternetGateway": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-internet-gateway.html",
    "Properties": {
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-internet-gateway.html#cfn-ec2-internetgateway-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::Cluster": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html",
    "Properties": {
      "ClusterName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-clustername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::IAM::Role": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html",
    "Properties": {
      "AssumeRolePolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-assumerolepolicydocument",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ManagedPolicyArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-managepolicyarns",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Policies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-policies",
        "DuplicatesAllowed": true,
        "ItemType": "Policy",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RoleName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-rolename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::RDS::DBParameterGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html#cfn-rds-dbparametergroup-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Family": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html#cfn-rds-dbparametergroup-family",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html#cfn-rds-dbparametergroup-parameters",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbparametergroup.html#cfn-rds-dbparametergroup-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Logs::LogStream": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html",
    "Properties": {
      "LogGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html#cfn-logs-logstream-loggroupname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "LogStreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-logstream.html#cfn-logs-logstream-logstreamname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::OpsWorks::Volume": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html",
    "Properties": {
      "Ec2VolumeId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html#cfn-opsworks-volume-ec2volumeid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "MountPoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html#cfn-opsworks-volume-mountpoint",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html#cfn-opsworks-volume-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StackId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-volume.html#cfn-opsworks-volume-stackid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::AutoScaling::ScalingPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html",
    "Properties": {
      "AdjustmentType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-adjustmenttype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "AutoScalingGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-autoscalinggroupname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Cooldown": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-cooldown",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EstimatedInstanceWarmup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-estimatedinstancewarmup",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricAggregationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-metricaggregationtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinAdjustmentMagnitude": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-minadjustmentmagnitude",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PolicyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-policytype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScalingAdjustment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-scalingadjustment",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StepAdjustments": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-as-scalingpolicy-stepadjustments",
        "DuplicatesAllowed": false,
        "ItemType": "StepAdjustment",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Step": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-step.html",
    "Properties": {
      "ActionOnFailure": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-step.html#cfn-elasticmapreduce-step-actiononfailure",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "HadoopJarStep": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-step.html#cfn-elasticmapreduce-step-hadoopjarstep",
        "Required": true,
        "Type": "HadoopJarStepConfig",
        "UpdateType": "Immutable"
      },
      "JobFlowId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-step.html#cfn-elasticmapreduce-step-jobflowid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-step.html#cfn-elasticmapreduce-step-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::Volume": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html",
    "Properties": {
      "AutoEnableIO": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-autoenableio",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-availabilityzone",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Encrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-encrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Size": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-size",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-snapshotid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html#cfn-ec2-ebs-volume-volumetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::ConfigurationRecorder": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html#cfn-config-configurationrecorder-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RecordingGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html#cfn-config-configurationrecorder-recordinggroup",
        "Required": false,
        "Type": "RecordingGroup",
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationrecorder.html#cfn-config-configurationrecorder-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::EventSubscription": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EventCategories": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-eventcategories",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SnsTopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-snstopicarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SourceIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-sourceids",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-eventsubscription.html#cfn-rds-eventsubscription-sourcetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      }
    }
  },
  "AWS::ElasticBeanstalk::Environment": {
    "Attributes": {
      "EndpointURL": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-applicationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "CNAMEPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-cnameprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnvironmentName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "OptionSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-optionsettings",
        "DuplicatesAllowed": true,
        "ItemType": "OptionSettings",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SolutionStackName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-solutionstackname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-templatename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-tier",
        "Required": false,
        "Type": "Tier",
        "UpdateType": "Conditional"
      },
      "VersionLabel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-versionlabel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::Function": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html",
    "Properties": {
      "Code": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-code",
        "Required": true,
        "Type": "Code",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Environment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-environment",
        "Required": false,
        "Type": "Environment",
        "UpdateType": "Mutable"
      },
      "FunctionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Handler": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-handler",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "KmsKeyArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-kmskeyarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MemorySize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-memorysize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Role": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-role",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Runtime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-runtime",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Timeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-timeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VpcConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-vpcconfig",
        "Required": false,
        "Type": "VpcConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster": {
    "Attributes": {
      "MasterPublicDNS": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html",
    "Properties": {
      "AdditionalInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-emr-cluster-additionalinfo",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Applications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-emr-cluster-applications",
        "DuplicatesAllowed": false,
        "ItemType": "Application",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "BootstrapActions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-emr-cluster-bootstrapactions",
        "DuplicatesAllowed": false,
        "ItemType": "BootstrapActionConfig",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Configurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-emr-cluster-configurations",
        "DuplicatesAllowed": false,
        "ItemType": "Configuration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Instances": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-emr-cluster-instances",
        "Required": true,
        "Type": "JobFlowInstancesConfig",
        "UpdateType": "Conditional"
      },
      "JobFlowRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-emr-cluster-jobflowrole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "LogUri": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-emr-cluster-loguri",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-emr-cluster-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ReleaseLabel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-emr-cluster-releaselabel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ServiceRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-emr-cluster-servicerole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-elasticmapreduce-cluster-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VisibleToAllUsers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-cluster.html#cfn-emr-cluster-visibletoallusers",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::DHCPOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html",
    "Properties": {
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-domainname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DomainNameServers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-domainnameservers",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "NetbiosNameServers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-netbiosnameservers",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "NetbiosNodeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-netbiosnodetype",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "NtpServers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-ntpservers",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-tags",
        "Required": false,
        "Type": "Tag",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html",
    "Properties": {
      "SpotFleetRequestConfigData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata",
        "Required": true,
        "Type": "SpotFleetRequestConfigData",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::UsagePlan": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html",
    "Properties": {
      "ApiStages": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-apistages",
        "DuplicatesAllowed": false,
        "ItemType": "ApiStage",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Quota": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota",
        "Required": false,
        "Type": "QuotaSettings",
        "UpdateType": "Mutable"
      },
      "Throttle": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle",
        "Required": false,
        "Type": "ThrottleSettings",
        "UpdateType": "Mutable"
      },
      "UsagePlanName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IAM::User": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html",
    "Properties": {
      "Groups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-groups",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "LoginProfile": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-loginprofile",
        "Required": false,
        "Type": "LoginProfile",
        "UpdateType": "Mutable"
      },
      "ManagedPolicyArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-managepolicyarns",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Policies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-policies",
        "DuplicatesAllowed": true,
        "ItemType": "Policy",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "UserName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-username",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::GameLift::Alias": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html#cfn-gamelift-alias-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html#cfn-gamelift-alias-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoutingStrategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-alias.html#cfn-gamelift-alias-routingstrategy",
        "Required": true,
        "Type": "RoutingStrategy",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::NetworkAcl": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl.html",
    "Properties": {
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl.html#cfn-ec2-networkacl-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl.html#cfn-ec2-networkacl-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::VPNConnectionRoute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection-route.html",
    "Properties": {
      "DestinationCidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection-route.html#cfn-ec2-vpnconnectionroute-cidrblock",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "VpnConnectionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection-route.html#cfn-ec2-vpnconnectionroute-connectionid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::OpsWorks::Instance": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html",
    "Properties": {
      "AgentVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-agentversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AmiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-amiid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Architecture": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-architecture",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AutoScalingType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-autoscalingtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BlockDeviceMappings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-blockdevicemappings",
        "DuplicatesAllowed": false,
        "ItemType": "BlockDeviceMapping",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "EbsOptimized": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-ebsoptimized",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ElasticIps": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-elasticips",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Hostname": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-hostname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstallUpdatesOnBoot": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-installupdatesonboot",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "LayerIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-layerids",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Os": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-os",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RootDeviceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-rootdevicetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SshKeyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-sshkeyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StackId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-stackid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tenancy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-tenancy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TimeBasedAutoScaling": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-timebasedautoscaling",
        "Required": false,
        "Type": "TimeBasedAutoScaling",
        "UpdateType": "Immutable"
      },
      "VirtualizationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-virtualizationtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Volumes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-instance.html#cfn-opsworks-instance-volumes",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::ConfigRule": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Compliance.Type": {
        "PrimitiveType": "String"
      },
      "ConfigRuleId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html",
    "Properties": {
      "ConfigRuleName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-configrulename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InputParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-inputparameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaximumExecutionFrequency": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-maximumexecutionfrequency",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Scope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-scope",
        "Required": false,
        "Type": "Scope",
        "UpdateType": "Mutable"
      },
      "Source": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#cfn-config-configrule-source",
        "Required": true,
        "Type": "Source",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::Rule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html",
    "Properties": {
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html#cfn-waf-rule-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html#cfn-waf-rule-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Predicates": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html#cfn-waf-rule-predicates",
        "DuplicatesAllowed": false,
        "ItemType": "Predicate",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DirectoryService::MicrosoftAD": {
    "Attributes": {
      "Alias": {
        "PrimitiveType": "String"
      },
      "DnsIpAddresses": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html",
    "Properties": {
      "CreateAlias": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html#cfn-directoryservice-microsoftad-createalias",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EnableSso": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html#cfn-directoryservice-microsoftad-enablesso",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html#cfn-directoryservice-microsoftad-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html#cfn-directoryservice-microsoftad-password",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ShortName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html#cfn-directoryservice-microsoftad-shortname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "VpcSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html#cfn-directoryservice-microsoftad-vpcsettings",
        "Required": true,
        "Type": "VpcSettings",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SNS::Subscription": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html",
    "Properties": {
      "Endpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-endpoint",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-protocol",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#topicarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::VPNGatewayRoutePropagation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gatewayrouteprop.html",
    "Properties": {
      "RouteTableIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gatewayrouteprop.html#cfn-ec2-vpngatewayrouteprop-routetableids",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpnGatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gatewayrouteprop.html#cfn-ec2-vpngatewayrouteprop-vpngatewayid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EFS::MountTarget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html",
    "Properties": {
      "FileSystemId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-filesystemid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "IpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-ipaddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-securitygroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-subnetid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::WAF::WebACL": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html",
    "Properties": {
      "DefaultAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html#cfn-waf-webacl-defaultaction",
        "Required": true,
        "Type": "WafAction",
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html#cfn-waf-webacl-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html#cfn-waf-webacl-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html#cfn-waf-webacl-rules",
        "DuplicatesAllowed": false,
        "ItemType": "ActivatedRule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::Document": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html",
    "Properties": {
      "Content": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-content",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DocumentType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-documenttype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SNS::Topic": {
    "Attributes": {
      "TopicName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html",
    "Properties": {
      "DisplayName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-displayname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Subscription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-subscription",
        "DuplicatesAllowed": true,
        "ItemType": "Subscription",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TopicName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-topicname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Config::DeliveryChannel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html",
    "Properties": {
      "ConfigSnapshotDeliveryProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-configsnapshotdeliveryproperties",
        "Required": false,
        "Type": "ConfigSnapshotDeliveryProperties",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "S3BucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-s3bucketname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3KeyPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-s3keyprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnsTopicARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-deliverychannel.html#cfn-config-deliverychannel-snstopicarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GameLift::Build": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StorageLocation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-storagelocation",
        "Required": false,
        "Type": "S3Location",
        "UpdateType": "Immutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket": {
    "Attributes": {
      "DomainName": {
        "PrimitiveType": "String"
      },
      "WebsiteURL": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html",
    "Properties": {
      "AccessControl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-accesscontrol",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "BucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "CorsConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-crossoriginconfig",
        "Required": false,
        "Type": "CorsConfiguration",
        "UpdateType": "Mutable"
      },
      "LifecycleConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-lifecycleconfig",
        "Required": false,
        "Type": "LifecycleConfiguration",
        "UpdateType": "Mutable"
      },
      "LoggingConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-loggingconfig",
        "Required": false,
        "Type": "LoggingConfiguration",
        "UpdateType": "Mutable"
      },
      "NotificationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-notification",
        "Required": false,
        "Type": "NotificationConfiguration",
        "UpdateType": "Mutable"
      },
      "ReplicationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-replicationconfiguration",
        "Required": false,
        "Type": "ReplicationConfiguration",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VersioningConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-versioning",
        "Required": false,
        "Type": "VersioningConfiguration",
        "UpdateType": "Mutable"
      },
      "WebsiteConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-websiteconfiguration",
        "Required": false,
        "Type": "WebsiteConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFormation::WaitConditionHandle": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitconditionhandle.html",
    "Properties": {}
  },
  "AWS::Lambda::Version": {
    "Attributes": {
      "Version": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html",
    "Properties": {
      "CodeSha256": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-codesha256",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FunctionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-functionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::Deployment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-restapiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "StageDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-stagedescription",
        "Required": false,
        "Type": "StageDescription",
        "UpdateType": "Mutable"
      },
      "StageName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-stagename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KMS::Key": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnableKeyRotation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-enablekeyrotation",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KeyPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-keypolicy",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "KeyUsage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-keyusage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CloudWatch::Alarm": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html",
    "Properties": {
      "ActionsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-actionsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AlarmActions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-alarmactions",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AlarmDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-alarmdescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AlarmName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-alarmname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ComparisonOperator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-comparisonoperator",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Dimensions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-dimension",
        "DuplicatesAllowed": true,
        "ItemType": "Dimension",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EvaluationPeriods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-evaluationperiods",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InsufficientDataActions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-insufficientdataactions",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-namespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OKActions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-okactions",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Period": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-period",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Statistic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-statistic",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Threshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-threshold",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Unit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-unit",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Redshift::Cluster": {
    "Attributes": {
      "Endpoint.Address": {
        "PrimitiveType": "String"
      },
      "Endpoint.Port": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html",
    "Properties": {
      "AllowVersionUpdate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-allowversionupgrade",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AutomatedSnapshotRetentionPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-automatedsnapshotretentionperiod",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ClusterParameterGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clusterparametergroupname",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ClusterSecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clustersecuritygroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ClusterSubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clustersubnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ClusterType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clustertype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ClusterVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clusterversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DBName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-dbname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ElasticIp": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-elasticip",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Encrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-encrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "HsmClientCertificateIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-hsmclientcertidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MasterUserPassword": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-masteruserpassword",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MasterUsername": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-masterusername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "NodeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-nodetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "NumberOfNodes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-nodetype",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OwnerAccount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-owneraccount",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PreferredMaintenanceWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-preferredmaintenancewindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PubliclyAccessible": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-publiclyaccessible",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotClusterIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-snapshotclusteridentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SnapshotIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-snapshotidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "VpcSecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-vpcsecuritygroupids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::BasePathMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html",
    "Properties": {
      "BasePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-basepath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-domainname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-restapiid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Stage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-stage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::App": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html",
    "Properties": {
      "AppSource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-appsource",
        "Required": false,
        "Type": "Source",
        "UpdateType": "Mutable"
      },
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-attributes",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "DataSources": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-datasources",
        "DuplicatesAllowed": false,
        "ItemType": "DataSource",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Domains": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-domains",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EnableSsl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-enablessl",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Environment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-environment",
        "DuplicatesAllowed": true,
        "ItemType": "EnvironmentVariable",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Shortname": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-shortname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SslConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-sslconfiguration",
        "Required": false,
        "Type": "SslConfiguration",
        "UpdateType": "Mutable"
      },
      "StackId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-stackid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-app.html#cfn-opsworks-app-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::EventSourceMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html",
    "Properties": {
      "BatchSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EventSourceArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "FunctionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StartingPosition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CertificateManager::Certificate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html",
    "Properties": {
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-domainname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DomainValidationOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-domainvalidationoptions",
        "DuplicatesAllowed": false,
        "ItemType": "DomainValidationOption",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "SubjectAlternativeNames": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-subjectalternativenames",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53::RecordSetGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html",
    "Properties": {
      "Comment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-comment",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HostedZoneId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-hostedzoneid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "HostedZoneName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-hostedzonename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RecordSets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordsetgroup.html#cfn-route53-recordsetgroup-recordsets",
        "DuplicatesAllowed": false,
        "ItemType": "RecordSet",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html",
    "Properties": {
      "DeliveryStreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverstream-deliverystreamname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ElasticsearchDestinationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverstream-elasticsearchdestinationconfiguration",
        "Required": false,
        "Type": "ElasticsearchDestinationConfiguration",
        "UpdateType": "Mutable"
      },
      "RedshiftDestinationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration",
        "Required": false,
        "Type": "RedshiftDestinationConfiguration",
        "UpdateType": "Mutable"
      },
      "S3DestinationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration",
        "Required": false,
        "Type": "S3DestinationConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::NetworkInterfaceAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface-attachment.html",
    "Properties": {
      "DeleteOnTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface-attachment.html#cfn-ec2-network-interface-attachment-deleteonterm",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeviceIndex": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface-attachment.html#cfn-ec2-network-interface-attachment-deviceindex",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InstanceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface-attachment.html#cfn-ec2-network-interface-attachment-instanceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "NetworkInterfaceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface-attachment.html#cfn-ec2-network-interface-attachment-networkinterfaceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::DBInstance": {
    "Attributes": {
      "Endpoint.Address": {
        "PrimitiveType": "String"
      },
      "Endpoint.Port": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html",
    "Properties": {
      "AllocatedStorage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-allocatedstorage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AllowMajorVersionUpgrade": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-allowmajorversionupgrade",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AutoMinorVersionUpgrade": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-autominorversionupgrade",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BackupRetentionPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-backupretentionperiod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "CharacterSetName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-charactersetname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DBClusterIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbclusteridentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DBInstanceClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbinstanceclass",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DBName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DBParameterGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbparametergroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "DBSecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsecuritygroups",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DBSnapshotIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsnapshotidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DBSubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsubnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Domain": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-domain",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DomainIAMRoleName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-domainiamrolename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Engine": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-engine",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EngineVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-engineversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LicenseModel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-licensemodel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MasterUserPassword": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-masteruserpassword",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MasterUsername": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-masterusername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MonitoringInterval": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-monitoringinterval",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "MonitoringRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-monitoringrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MultiAZ": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-multiaz",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OptionGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-optiongroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-port",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PreferredBackupWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-preferredbackupwindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreferredMaintenanceWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-preferredmaintenancewindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "PubliclyAccessible": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-publiclyaccessible",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SourceDBInstanceIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-sourcedbinstanceidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StorageEncrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-storageencrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StorageType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-storagetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VPCSecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-vpcsecuritygroups",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IAM::ManagedPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-iam-managedpolicy-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Groups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-iam-managedpolicy-groups",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-ec2-dhcpoptions-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-iam-managedpolicy-policydocument",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Roles": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-iam-managedpolicy-roles",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Users": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-iam-managedpolicy-users",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::PolicyPrincipalAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html",
    "Properties": {
      "PolicyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html#cfn-iot-policyprincipalattachment-policyname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Principal": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policyprincipalattachment.html#cfn-iot-policyprincipalattachment-principal",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::Authorizer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html",
    "Properties": {
      "AuthorizerCredentials": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizercredentials",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AuthorizerResultTtlInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizerresultttlinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AuthorizerUri": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizeruri",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IdentitySource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-identitysource",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IdentityValidationExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-identityvalidationexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ProviderARNs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-providerarns",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-restapiid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::CustomerGateway": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customer-gateway.html",
    "Properties": {
      "BgpAsn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customer-gateway.html#cfn-ec2-customergateway-bgpasn",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "IpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customer-gateway.html#cfn-ec2-customergateway-ipaddress",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customer-gateway.html#cfn-ec2-customergateway-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customer-gateway.html#cfn-ec2-customergateway-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApplicationAutoScaling::ScalableTarget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html",
    "Properties": {
      "MaxCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-maxcapacity",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MinCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-mincapacity",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ResourceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-resourceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ScalableDimension": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-scalabledimension",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ServiceNamespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-servicenamespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::EIP": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html",
    "Properties": {
      "Domain": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-domain",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "InstanceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-instanceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Stage": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html",
    "Properties": {
      "CacheClusterEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclusterenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CacheClusterSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclustersize",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ClientCertificateId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-clientcertificateid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeploymentId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-deploymentid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MethodSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-methodsettings",
        "DuplicatesAllowed": false,
        "ItemType": "MethodSetting",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-restapiid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StageName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-stagename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Variables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-variables",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SDB::Domain": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-simpledb.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-simpledb.html#cfn-sdb-domain-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECR::Repository": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html",
    "Properties": {
      "RepositoryName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-repositoryname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RepositoryPolicyText": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-repositorypolicytext",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GameLift::Fleet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html",
    "Properties": {
      "BuildId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-buildid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DesiredEC2Instances": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-desiredec2instances",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EC2InboundPermissions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-ec2inboundpermissions",
        "DuplicatesAllowed": false,
        "ItemType": "IpPermission",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EC2InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-ec2instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "LogPaths": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-logpaths",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "MaxSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-maxsize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-minsize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ServerLaunchParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-serverlaunchparameters",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ServerLaunchPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-serverlaunchpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::SecurityGroupIngress": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html",
    "Properties": {
      "CidrIp": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-cidrip",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "FromPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-fromport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "GroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-groupid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "GroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-groupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "IpProtocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-ipprotocol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SourceSecurityGroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-sourcesecuritygroupid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SourceSecurityGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-sourcesecuritygroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SourceSecurityGroupOwnerId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-sourcesecuritygroupownerid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ToPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-toport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::RDS::DBCluster": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html",
    "Properties": {
      "AvailabilityZones": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-availabilityzones",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BackupRetentionPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-backuprententionperiod",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DBClusterParameterGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbclusterparametergroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DBSubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbsubnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-databasename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Engine": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engine",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "EngineVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-engineversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MasterUserPassword": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-masteruserpassword",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MasterUsername": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-masterusername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreferredBackupWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-preferredbackupwindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreferredMaintenanceWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-preferredmaintenancewindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-snapshotidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StorageEncrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-storageencrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcSecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-vpcsecuritygroupids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::Service": {
    "Attributes": {
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html",
    "Properties": {
      "Cluster": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-cluster",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DeploymentConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-deploymentconfiguration",
        "Required": false,
        "Type": "DeploymentConfiguration",
        "UpdateType": "Mutable"
      },
      "DesiredCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-desiredcount",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "LoadBalancers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-loadbalancers",
        "DuplicatesAllowed": false,
        "ItemType": "LoadBalancer",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Role": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-role",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TaskDefinition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-taskdefinition",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Method": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html",
    "Properties": {
      "ApiKeyRequired": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-apikeyrequired",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AuthorizationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AuthorizerId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizerid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HttpMethod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-httpmethod",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Integration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-integration",
        "Required": false,
        "Type": "Integration",
        "UpdateType": "Mutable"
      },
      "MethodResponses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-methodresponses",
        "DuplicatesAllowed": false,
        "ItemType": "MethodResponse",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RequestModels": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestmodels",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "RequestParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestparameters",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "Boolean",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "ResourceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-resourceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-restapiid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IAM::UserToGroupAddition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html",
    "Properties": {
      "GroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html#cfn-iam-addusertogroup-groupname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Users": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html#cfn-iam-addusertogroup-users",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::ClientCertificate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::DBSubnetGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html",
    "Properties": {
      "DBSubnetGroupDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html#cfn-rds-dbsubnetgroup-dbsubnetgroupdescription",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html#cfn-rds-dbsubnetgroup-subnetids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html#cfn-rds-dbsubnetgroup-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::Thing": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html",
    "Properties": {
      "AttributePayload": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html#cfn-iot-thing-attributepayload",
        "Required": false,
        "Type": "AttributePayload",
        "UpdateType": "Mutable"
      },
      "ThingName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thing.html#cfn-iot-thing-thingname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ElasticLoadBalancing::LoadBalancer": {
    "Attributes": {
      "CanonicalHostedZoneName": {
        "PrimitiveType": "String"
      },
      "CanonicalHostedZoneNameID": {
        "PrimitiveType": "String"
      },
      "DNSName": {
        "PrimitiveType": "String"
      },
      "SourceSecurityGroup.GroupName": {
        "PrimitiveType": "String"
      },
      "SourceSecurityGroup.OwnerAlias": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html",
    "Properties": {
      "AccessLoggingPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-accessloggingpolicy",
        "Required": false,
        "Type": "AccessLoggingPolicy",
        "UpdateType": "Mutable"
      },
      "AppCookieStickinessPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-appcookiestickinesspolicy",
        "DuplicatesAllowed": false,
        "ItemType": "AppCookieStickinessPolicy",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AvailabilityZones": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-availabilityzones",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Conditional"
      },
      "ConnectionDrainingPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-connectiondrainingpolicy",
        "Required": false,
        "Type": "ConnectionDrainingPolicy",
        "UpdateType": "Mutable"
      },
      "ConnectionSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-connectionsettings",
        "Required": false,
        "Type": "ConnectionSettings",
        "UpdateType": "Mutable"
      },
      "CrossZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-crosszone",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HealthCheck": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-healthcheck",
        "Required": false,
        "Type": "HealthCheck",
        "UpdateType": "Conditional"
      },
      "Instances": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-instances",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "LBCookieStickinessPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-lbcookiestickinesspolicy",
        "DuplicatesAllowed": false,
        "ItemType": "LBCookieStickinessPolicy",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Listeners": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-listeners",
        "DuplicatesAllowed": false,
        "ItemType": "Listeners",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "LoadBalancerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-elbname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Policies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-policies",
        "DuplicatesAllowed": false,
        "ItemType": "Policies",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Scheme": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-scheme",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-securitygroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Subnets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-subnets",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Conditional"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-elasticloadbalancing-loadbalancer-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Layer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html",
    "Properties": {
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-attributes",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "AutoAssignElasticIps": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-autoassignelasticips",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "AutoAssignPublicIps": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-autoassignpublicips",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "CustomInstanceProfileArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-custominstanceprofilearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CustomJson": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-customjson",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CustomRecipes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-customrecipes",
        "Required": false,
        "Type": "Recipes",
        "UpdateType": "Mutable"
      },
      "CustomSecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-customsecuritygroupids",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EnableAutoHealing": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-enableautohealing",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InstallUpdatesOnBoot": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-installupdatesonboot",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LifecycleEventConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-lifecycleeventconfiguration",
        "Required": false,
        "Type": "LifecycleEventConfiguration",
        "UpdateType": "Mutable"
      },
      "LoadBasedAutoScaling": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-loadbasedautoscaling",
        "Required": false,
        "Type": "LoadBasedAutoScaling",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Packages": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-packages",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Shortname": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-shortname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StackId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-stackid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "UseEbsOptimizedInstances": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-useebsoptimizedinstances",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-volumeconfigurations",
        "DuplicatesAllowed": true,
        "ItemType": "VolumeConfiguration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DirectoryService::SimpleAD": {
    "Attributes": {
      "Alias": {
        "PrimitiveType": "String"
      },
      "DnsIpAddresses": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html",
    "Properties": {
      "CreateAlias": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-createalias",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EnableSso": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-enablesso",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-password",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ShortName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-shortname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Size": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-size",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "VpcSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-simplead.html#cfn-directoryservice-simplead-vpcsettings",
        "Required": true,
        "Type": "VpcSettings",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::VolumeAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html",
    "Properties": {
      "Device": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html#cfn-ec2-ebs-volumeattachment-device",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InstanceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html#cfn-ec2-ebs-volumeattachment-instanceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "VolumeId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volumeattachment.html#cfn-ec2-ebs-volumeattachment-volumeid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::ApiKey": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apigateway-apikey-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apigateway-apikey-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apigateway-apikey-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StageKeys": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apigateway-apikey-stagekeys",
        "DuplicatesAllowed": false,
        "ItemType": "StageKey",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SubnetRouteTableAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html",
    "Properties": {
      "RouteTableId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html#cfn-ec2-subnetroutetableassociation-routetableid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html#cfn-ec2-subnetroutetableassociation-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ElastiCache::SecurityGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group.html#cfn-elasticache-securitygroup-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Host": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html",
    "Properties": {
      "AutoPlacement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-autoplacement",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-availabilityzone",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::IAM::InstanceProfile": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html",
    "Properties": {
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html#cfn-iam-instanceprofile-path",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Roles": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html#cfn-iam-instanceprofile-roles",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::Policy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html",
    "Properties": {
      "PolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html#cfn-iot-policy-policydocument",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "PolicyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-policy.html#cfn-iot-policy-policyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::RDS::DBSecurityGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group.html",
    "Properties": {
      "DBSecurityGroupIngress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group.html#cfn-rds-dbsecuritygroup-dbsecuritygroupingress",
        "DuplicatesAllowed": false,
        "ItemType": "Ingress",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EC2VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group.html#cfn-rds-dbsecuritygroup-ec2vpcid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "GroupDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group.html#cfn-rds-dbsecuritygroup-groupdescription",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group.html#cfn-rds-dbsecuritygroup-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-applicationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "AutoScalingGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-autoscalinggroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Deployment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-deployment",
        "Required": false,
        "Type": "Deployment",
        "UpdateType": "Mutable"
      },
      "DeploymentConfigName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-deploymentconfigname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeploymentGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-deploymentgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Ec2TagFilters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-ec2tagfilters",
        "DuplicatesAllowed": false,
        "ItemType": "Ec2TagFilter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "OnPremisesInstanceTagFilters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-onpremisesinstancetagfilters",
        "DuplicatesAllowed": false,
        "ItemType": "OnPremisesInstanceTagFilter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ServiceRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-servicerolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Model": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html",
    "Properties": {
      "ContentType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-contenttype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-restapiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Schema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html#cfn-apigateway-model-schema",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Route": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html",
    "Properties": {
      "DestinationCidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationcidrblock",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "GatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-gatewayid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-instanceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NatGatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-natgatewayid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NetworkInterfaceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-networkinterfaceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RouteTableId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-routetableid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "VpcPeeringConnectionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-vpcpeeringconnectionid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KMS::Alias": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html",
    "Properties": {
      "AliasName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html#cfn-kms-alias-aliasname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "TargetKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html#cfn-kms-alias-targetkeyid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html",
    "Properties": {
      "ContainerDefinitions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-containerdefinitions",
        "DuplicatesAllowed": false,
        "ItemType": "ContainerDefinition",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Family": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-family",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TaskRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-taskrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Volumes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-volumes",
        "DuplicatesAllowed": false,
        "ItemType": "Volume",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Redshift::ClusterSubnetGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html#cfn-redshift-clustersubnetgroup-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html#cfn-redshift-clustersubnetgroup-subnetids",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Logs::MetricFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html",
    "Properties": {
      "FilterPattern": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html#cfn-cwl-metricfilter-filterpattern",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "LogGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html#cfn-cwl-metricfilter-loggroupname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "MetricTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html#cfn-cwl-metricfilter-metrictransformations",
        "DuplicatesAllowed": true,
        "ItemType": "MetricTransformation",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::EIPAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html",
    "Properties": {
      "AllocationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html#cfn-ec2-eipassociation-allocationid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "Eip": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html#cfn-ec2-eipassociation-eip",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "InstanceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html#cfn-ec2-eipassociation-instanceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "NetworkInterfaceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html#cfn-ec2-eipassociation-networkinterfaceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "PrivateIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip-association.html#cfn-ec2-eipassociation-PrivateIpAddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Resource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html",
    "Properties": {
      "ParentId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html#cfn-apigateway-resource-parentid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "PathPart": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html#cfn-apigateway-resource-pathpart",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html#cfn-apigateway-resource-restapiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::VPNGateway": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gateway.html",
    "Properties": {
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gateway.html#cfn-ec2-vpngateway-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gateway.html#cfn-ec2-vpngateway-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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"
      }
    }
  },
  "AWS::IoT::ThingPrincipalAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html",
    "Properties": {
      "Principal": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html#cfn-iot-thingprincipalattachment-principal",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ThingName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-thingprincipalattachment.html#cfn-iot-thingprincipalattachment-thingname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ElasticBeanstalk::ApplicationVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-version.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-version.html#cfn-elasticbeanstalk-applicationversion-applicationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-version.html#cfn-elasticbeanstalk-applicationversion-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SourceBundle": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-version.html#cfn-elasticbeanstalk-applicationversion-sourcebundle",
        "Required": true,
        "Type": "SourceBundle",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::VPCEndpoint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html",
    "Properties": {
      "PolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-policydocument",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RouteTableIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-routetableids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ServiceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-servicename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::FlowLog": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html",
    "Properties": {
      "DeliverLogsPermissionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-deliverlogspermissionarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "LogGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-loggroupname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ResourceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-resourceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ResourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-resourcetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "TrafficType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-traffictype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::OpsWorks::UserProfile": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html",
    "Properties": {
      "AllowSelfManagement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html#cfn-opsworks-userprofile-allowselfmanagement",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IamUserArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html#cfn-opsworks-userprofile-iamuserarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SshPublicKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html#cfn-opsworks-userprofile-sshpublickey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::TargetGroup": {
    "Attributes": {
      "LoadBalancerArns": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html",
    "Properties": {
      "HealthCheckIntervalSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthcheckintervalseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HealthCheckPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthcheckpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HealthCheckPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthcheckport",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HealthCheckProtocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthcheckprotocol",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HealthCheckTimeoutSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthchecktimeoutseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HealthyThresholdCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthythresholdcount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Matcher": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-matcher",
        "Required": false,
        "Type": "Matcher",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-port",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-protocol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TargetGroupAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-targetgroupattributes",
        "DuplicatesAllowed": false,
        "ItemType": "TargetGroupAttribute",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Targets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-targets",
        "DuplicatesAllowed": false,
        "ItemType": "TargetDescription",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "UnhealthyThresholdCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-unhealthythresholdcount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::LoadBalancer": {
    "Attributes": {
      "CanonicalHostedZoneID": {
        "PrimitiveType": "String"
      },
      "DNSName": {
        "PrimitiveType": "String"
      },
      "LoadBalancerFullName": {
        "PrimitiveType": "String"
      },
      "LoadBalancerName": {
        "PrimitiveType": "String"
      },
      "SecurityGroups": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html",
    "Properties": {
      "IpAddressType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-ipaddresstype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LoadBalancerAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-loadbalancerattributes",
        "DuplicatesAllowed": false,
        "ItemType": "LoadBalancerAttribute",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Scheme": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-scheme",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-securitygroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetMappings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-subnetmappings",
        "DuplicatesAllowed": false,
        "ItemType": "SubnetMapping",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Subnets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-subnets",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::IAM::AccessKey": {
    "Attributes": {
      "SecretAccessKey": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html",
    "Properties": {
      "Serial": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html#cfn-iam-accesskey-serial",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Status": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html#cfn-iam-accesskey-status",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html#cfn-iam-accesskey-username",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ElasticBeanstalk::Application": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html#cfn-elasticbeanstalk-application-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html#cfn-elasticbeanstalk-application-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::VPCGatewayAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html",
    "Properties": {
      "InternetGatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html#cfn-ec2-vpcgatewayattachment-internetgatewayid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html#cfn-ec2-vpcgatewayattachment-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VpnGatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html#cfn-ec2-vpcgatewayattachment-vpngatewayid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::VPNConnection": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html",
    "Properties": {
      "CustomerGatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html#cfn-ec2-vpnconnection-customergatewayid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "StaticRoutesOnly": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html#cfn-ec2-vpnconnection-StaticRoutesOnly",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html#cfn-ec2-vpnconnection-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html#cfn-ec2-vpnconnection-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "VpnGatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html#cfn-ec2-vpnconnection-vpngatewayid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ElastiCache::SubnetGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-subnetgroup.html",
    "Properties": {
      "CacheSubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-subnetgroup.html#cfn-elasticache-subnetgroup-cachesubnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-subnetgroup.html#cfn-elasticache-subnetgroup-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-subnetgroup.html#cfn-elasticache-subnetgroup-subnetids",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Logs::SubscriptionFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html",
    "Properties": {
      "DestinationArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-destinationarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "FilterPattern": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-filterpattern",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "LogGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-loggroupname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SNS::TopicPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html",
    "Properties": {
      "PolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html#cfn-sns-topicpolicy-policydocument",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Topics": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html#cfn-sns-topicpolicy-topics",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::Alias": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FunctionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-functionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "FunctionVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-functionversion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::Listener": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html",
    "Properties": {
      "Certificates": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-certificates",
        "DuplicatesAllowed": false,
        "ItemType": "Certificate",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DefaultActions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-defaultactions",
        "DuplicatesAllowed": false,
        "ItemType": "Action",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "LoadBalancerArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-loadbalancerarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-port",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-protocol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SslPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-sslpolicy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DynamoDB::Table": {
    "Attributes": {
      "StreamArn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html",
    "Properties": {
      "AttributeDefinitions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-attributedef",
        "DuplicatesAllowed": true,
        "ItemType": "AttributeDefinition",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "GlobalSecondaryIndexes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-gsi",
        "DuplicatesAllowed": true,
        "ItemType": "GlobalSecondaryIndex",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "KeySchema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-keyschema",
        "DuplicatesAllowed": true,
        "ItemType": "KeySchema",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "LocalSecondaryIndexes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-lsi",
        "DuplicatesAllowed": true,
        "ItemType": "LocalSecondaryIndex",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ProvisionedThroughput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-provisionedthroughput",
        "Required": true,
        "Type": "ProvisionedThroughput",
        "UpdateType": "Mutable"
      },
      "StreamSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-streamspecification",
        "Required": false,
        "Type": "StreamSpecification",
        "UpdateType": "Mutable"
      },
      "TableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tablename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Logs::Destination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html",
    "Properties": {
      "DestinationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html#cfn-logs-destination-destinationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DestinationPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html#cfn-logs-destination-destinationpolicy",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html#cfn-logs-destination-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-destination.html#cfn-logs-destination-targetarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SecurityGroupEgress": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html",
    "Properties": {
      "CidrIp": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-cidrip",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DestinationPrefixListId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-destinationprefixlistid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DestinationSecurityGroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-destinationsecuritygroupid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "FromPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-fromport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "GroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-groupid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "IpProtocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-ipprotocol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ToPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-toport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Redshift::ClusterSecurityGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html#cfn-redshift-clustersecuritygroup-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::NetworkInterface": {
    "Attributes": {
      "PrimaryPrivateIpAddress": {
        "PrimitiveType": "String"
      },
      "SecondaryPrivateIpAddresses": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GroupSet": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-groupset",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PrivateIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-privateipaddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PrivateIpAddresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-privateipaddresses",
        "DuplicatesAllowed": true,
        "ItemType": "PrivateIpAddressSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Conditional"
      },
      "SecondaryPrivateIpAddressCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-secondaryprivateipcount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SourceDestCheck": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-sourcedestcheck",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-subnetid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-awsec2networkinterface-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAF::XssMatchSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html#cfn-waf-xssmatchset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "XssMatchTuples": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html#cfn-waf-xssmatchset-xssmatchtuples",
        "DuplicatesAllowed": false,
        "ItemType": "XssMatchTuple",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::Stack": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html",
    "Properties": {
      "AgentVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-agentversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-attributes",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "ChefConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-chefconfiguration",
        "Required": false,
        "Type": "ChefConfiguration",
        "UpdateType": "Mutable"
      },
      "CloneAppIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-cloneappids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "ClonePermissions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-clonepermissions",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ConfigurationManager": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-configmanager",
        "Required": false,
        "Type": "StackConfigurationManager",
        "UpdateType": "Mutable"
      },
      "CustomCookbooksSource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-custcookbooksource",
        "Required": false,
        "Type": "Source",
        "UpdateType": "Mutable"
      },
      "CustomJson": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-custjson",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultAvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-defaultaz",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultInstanceProfileArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-defaultinstanceprof",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DefaultOs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-defaultos",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultRootDeviceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-defaultrootdevicetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultSshKeyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-defaultsshkeyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultSubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#defaultsubnet",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EcsClusterArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-ecsclusterarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ElasticIps": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-elasticips",
        "DuplicatesAllowed": false,
        "ItemType": "ElasticIp",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "HostnameTheme": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-hostnametheme",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RdsDbInstances": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-rdsdbinstances",
        "DuplicatesAllowed": false,
        "ItemType": "RdsDbInstance",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ServiceRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-servicerolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SourceStackId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-sourcestackid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "UseCustomCookbooks": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#usecustcookbooks",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UseOpsworksSecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-useopsworkssecuritygroups",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-vpcid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Route53::HealthCheck": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html",
    "Properties": {
      "HealthCheckConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html#cfn-route53-healthcheck-healthcheckconfig",
        "Required": true,
        "Type": "HealthCheckConfig",
        "UpdateType": "Mutable"
      },
      "HealthCheckTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html#cfn-route53-healthcheck-healthchecktags",
        "DuplicatesAllowed": true,
        "ItemType": "HealthCheckTag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DataPipeline::Pipeline": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html",
    "Properties": {
      "Activate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-activate",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ParameterObjects": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-parameterobjects",
        "DuplicatesAllowed": true,
        "ItemType": "ParameterObject",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ParameterValues": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-parametervalues",
        "DuplicatesAllowed": true,
        "ItemType": "ParameterValue",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PipelineObjects": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-pipelineobjects",
        "DuplicatesAllowed": true,
        "ItemType": "PipelineObject",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PipelineTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datapipeline-pipeline.html#cfn-datapipeline-pipeline-pipelinetags",
        "DuplicatesAllowed": true,
        "ItemType": "PipelineTag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::Permission": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-action",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "FunctionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-functionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Principal": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-principal",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SourceAccount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-sourceaccount",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SourceArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-sourcearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::IoT::Certificate": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html",
    "Properties": {
      "CertificateSigningRequest": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html#cfn-iot-certificate-certificatesigningrequest",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Status": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html#cfn-iot-certificate-status",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html",
    "Properties": {
      "DeploymentConfigName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html#cfn-codedeploy-deploymentconfig-deploymentconfigname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MinimumHealthyHosts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentconfig.html#cfn-codedeploy-deploymentconfig-minimumhealthyhosts",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::SubnetNetworkAclAssociation": {
    "Attributes": {
      "AssociationId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-network-acl-assoc.html",
    "Properties": {
      "NetworkAclId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-network-acl-assoc.html#cfn-ec2-subnetnetworkaclassociation-networkaclid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-network-acl-assoc.html#cfn-ec2-subnetnetworkaclassociation-associationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::Account": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html",
    "Properties": {
      "CloudWatchRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html#cfn-apigateway-account-cloudwatchrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::DBClusterParameterGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html#cfn-rds-dbclusterparametergroup-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Family": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html#cfn-rds-dbclusterparametergroup-family",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html#cfn-rds-dbclusterparametergroup-parameters",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbclusterparametergroup.html#cfn-rds-dbclusterparametergroup-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution": {
    "Attributes": {
      "DomainName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution.html",
    "Properties": {
      "DistributionConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution.html#cfn-cloudfront-distribution-distributionconfig",
        "Required": true,
        "Type": "DistributionConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Redshift::ClusterParameterGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html#cfn-redshift-clusterparametergroup-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ParameterGroupFamily": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html#cfn-redshift-clusterparametergroup-parametergroupfamily",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html#cfn-redshift-clusterparametergroup-parameters",
        "DuplicatesAllowed": false,
        "ItemType": "Parameter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudTrail::Trail": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html",
    "Properties": {
      "CloudWatchLogsLogGroupArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-cloudwatchlogsloggrouparn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CloudWatchLogsRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-cloudwatchlogsrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnableLogFileValidation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-enablelogfilevalidation",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IncludeGlobalServiceEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-includeglobalserviceevents",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IsLogging": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-islogging",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IsMultiRegionTrail": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-ismultiregiontrail",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KMSKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "S3BucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-s3bucketname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3KeyPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-s3keyprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnsTopicName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-snstopicname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html",
    "Properties": {
      "BidPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-bidprice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Configurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-configurations",
        "DuplicatesAllowed": false,
        "ItemType": "Configuration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "EbsConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-ebsconfiguration",
        "Required": false,
        "Type": "EbsConfiguration",
        "UpdateType": "Immutable"
      },
      "InstanceCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfiginstancecount-",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InstanceRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-instancerole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "JobFlowId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-jobflowid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Market": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-market",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-emr-instancegroupconfig-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::S3::BucketPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html#cfn-s3-bucketpolicy-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "PolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html#cfn-s3-bucketpolicy-policydocument",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::AutoScalingGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html",
    "Properties": {
      "AsTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-tags",
        "DuplicatesAllowed": true,
        "ItemType": "TagProperty",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AvailabilityZones": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-availabilityzones",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Cooldown": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-cooldown",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DesiredCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-desiredcapacity",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HealthCheckGracePeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-healthcheckgraceperiod",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HealthCheckType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-healthchecktype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-instanceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LaunchConfigurationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-launchconfigurationname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LoadBalancerNames": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-loadbalancernames",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "MaxSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-maxsize",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MetricsCollection": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-metricscollection",
        "Required": false,
        "Type": "MetricsCollection",
        "UpdateType": "Mutable"
      },
      "MinSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-minsize",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "NotificationConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-notificationconfigurations",
        "Required": false,
        "Type": "NotificationConfigurations",
        "UpdateType": "Mutable"
      },
      "PlacementGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-placementgroup",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetGroupARNs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-targetgrouparns",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TerminationPolicies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-termpolicy",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VPCZoneIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-vpczoneidentifier",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::LifecycleHook": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html",
    "Properties": {
      "AutoScalingGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-autoscalinggroupname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DefaultResult": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-defaultresult",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HeartbeatTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-heartbeattimeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LifecycleTransition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-lifecycletransition",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "NotificationMetadata": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-notificationmetadata",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NotificationTargetARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-notificationtargetarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html",
    "Properties": {
      "Actions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html#cfn-elasticloadbalancingv2-listenerrule-actions",
        "DuplicatesAllowed": false,
        "ItemType": "Action",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Conditions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html#cfn-elasticloadbalancingv2-listenerrule-conditions",
        "DuplicatesAllowed": false,
        "ItemType": "RuleCondition",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ListenerArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html#cfn-elasticloadbalancingv2-listenerrule-listenerarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Priority": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html#cfn-elasticloadbalancingv2-listenerrule-priority",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::Pipeline": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html",
    "Properties": {
      "ArtifactStore": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-artifactstore",
        "Required": true,
        "Type": "ArtifactStore",
        "UpdateType": "Mutable"
      },
      "DisableInboundStageTransitions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-disableinboundstagetransitions",
        "DuplicatesAllowed": false,
        "ItemType": "StageTransition",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RestartExecutionOnUpdate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-restartexecutiononupdate",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Stages": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-stages",
        "DuplicatesAllowed": false,
        "ItemType": "StageDeclaration",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFormation::CustomResource": {
    "AdditionalProperties": true,
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html",
    "Properties": {
      "ServiceToken": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html#cfn-customresource-servicetoken",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Redshift::ClusterSecurityGroupIngress": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html",
    "Properties": {
      "CIDRIP": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html#cfn-redshift-clustersecuritygroupingress-cidrip",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ClusterSecurityGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html#cfn-redshift-clustersecuritygroupingress-clustersecuritygroupname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "EC2SecurityGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html#cfn-redshift-clustersecuritygroupingress-ec2securitygroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EC2SecurityGroupOwnerId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroupingress.html#cfn-redshift-clustersecuritygroupingress-ec2securitygroupownerid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::NatGateway": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html",
    "Properties": {
      "AllocationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-allocationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-subnetid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::RDS::OptionGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html",
    "Properties": {
      "EngineName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-enginename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "MajorEngineVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-majorengineversion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "OptionConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-optionconfigurations",
        "DuplicatesAllowed": true,
        "ItemType": "OptionConfiguration",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "OptionGroupDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-optiongroupdescription",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-optiongroup.html#cfn-rds-optiongroup-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElastiCache::SecurityGroupIngress": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html",
    "Properties": {
      "CacheSecurityGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html#cfn-elasticache-securitygroupingress-cachesecuritygroupname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EC2SecurityGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html#cfn-elasticache-securitygroupingress-ec2securitygroupname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EC2SecurityGroupOwnerId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html#cfn-elasticache-securitygroupingress-ec2securitygroupownerid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html",
    "Properties": {
      "RuleName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html#cfn-iot-topicrule-rulename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TopicRulePayload": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html#cfn-iot-topicrule-topicrulepayload",
        "Required": true,
        "Type": "TopicRulePayload",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::VPCDHCPOptionsAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-dhcp-options-assoc.html",
    "Properties": {
      "DhcpOptionsId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-dhcp-options-assoc.html#cfn-ec2-vpcdhcpoptionsassociation-dhcpoptionsid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-dhcp-options-assoc.html#cfn-ec2-vpcdhcpoptionsassociation-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ElastiCache::ReplicationGroup": {
    "Attributes": {
      "PrimaryEndPoint.Address": {
        "PrimitiveType": "String"
      },
      "PrimaryEndPoint.Port": {
        "PrimitiveType": "String"
      },
      "ReadEndPoint.Addresses": {
        "PrimitiveType": "String"
      },
      "ReadEndPoint.Addresses.List": {
        "PrimitiveItemType": "String",
        "Type": "List"
      },
      "ReadEndPoint.Ports": {
        "PrimitiveType": "String"
      },
      "ReadEndPoint.Ports.List": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html",
    "Properties": {
      "AutoMinorVersionUpgrade": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-autominorversionupgrade",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AutomaticFailoverEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-automaticfailoverenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CacheNodeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-cachenodetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CacheParameterGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-cacheparametergroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CacheSecurityGroupNames": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-cachesecuritygroupnames",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CacheSubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-cachesubnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Engine": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-engine",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EngineVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-engineversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NodeGroupConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-nodegroupconfiguration",
        "DuplicatesAllowed": false,
        "ItemType": "NodeGroupConfiguration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "NotificationTopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-notificationtopicarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NumCacheClusters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-numcacheclusters",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NumNodeGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-numnodegroups",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PreferredCacheClusterAZs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-preferredcacheclusterazs",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "PreferredMaintenanceWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-preferredmaintenancewindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrimaryClusterId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-primaryclusterid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReplicasPerNodeGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-replicaspernodegroup",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ReplicationGroupDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-replicationgroupdescription",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ReplicationGroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-replicationgroupid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-securitygroupids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SnapshotArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshotarns",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "SnapshotName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshotname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SnapshotRetentionLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshotretentionlimit",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshotwindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshottingClusterId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshottingclusterid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::OpsWorks::ElasticLoadBalancerAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elbattachment.html",
    "Properties": {
      "ElasticLoadBalancerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elbattachment.html#cfn-opsworks-elbattachment-elbname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "LayerId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-elbattachment.html#cfn-opsworks-elbattachment-layerid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFormation::WaitCondition": {
    "Attributes": {
      "Data": {
        "PrimitiveType": "Json"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html.html",
    "Properties": {
      "Count": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html.html#cfn-waitcondition-count",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Handle": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html.html#cfn-waitcondition-handle",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Timeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html.html#cfn-waitcondition-timeout",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SecurityGroup": {
    "Attributes": {
      "GroupId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html",
    "Properties": {
      "GroupDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-groupdescription",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SecurityGroupEgress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-securitygroupegress",
        "DuplicatesAllowed": true,
        "ItemType": "Rule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SecurityGroupIngress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-securitygroupingress",
        "DuplicatesAllowed": true,
        "ItemType": "Rule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-vpcid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::AutoScaling::ScheduledAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html",
    "Properties": {
      "AutoScalingGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-asgname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DesiredCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-desiredcapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EndTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-endtime",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-maxsize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-minsize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Recurrence": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-recurrence",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StartTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-scheduledaction.html#cfn-as-scheduledaction-starttime",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  }
},
"ResourceSpecificationVersion": "1.0.0"

}