{

"PropertyTypes": {
  "AWS::AccessAnalyzer::Analyzer.ArchiveRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html",
    "Properties": {
      "Filter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html#cfn-accessanalyzer-analyzer-archiverule-filter",
        "ItemType": "Filter",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RuleName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-archiverule.html#cfn-accessanalyzer-analyzer-archiverule-rulename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AccessAnalyzer::Analyzer.Filter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html",
    "Properties": {
      "Contains": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-contains",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Eq": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-eq",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Exists": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-exists",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Neq": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-neq",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Property": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-accessanalyzer-analyzer-filter.html#cfn-accessanalyzer-analyzer-filter-property",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AmazonMQ::Broker.ConfigurationId": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-configurationid.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-configurationid.html#cfn-amazonmq-broker-configurationid-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Revision": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-configurationid.html#cfn-amazonmq-broker-configurationid-revision",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AmazonMQ::Broker.EncryptionOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-encryptionoptions.html",
    "Properties": {
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-encryptionoptions.html#cfn-amazonmq-broker-encryptionoptions-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UseAwsOwnedKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-encryptionoptions.html#cfn-amazonmq-broker-encryptionoptions-useawsownedkey",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AmazonMQ::Broker.LogList": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-loglist.html",
    "Properties": {
      "Audit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-loglist.html#cfn-amazonmq-broker-loglist-audit",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "General": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-loglist.html#cfn-amazonmq-broker-loglist-general",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AmazonMQ::Broker.MaintenanceWindow": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-maintenancewindow.html",
    "Properties": {
      "DayOfWeek": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-maintenancewindow.html#cfn-amazonmq-broker-maintenancewindow-dayofweek",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TimeOfDay": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-maintenancewindow.html#cfn-amazonmq-broker-maintenancewindow-timeofday",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TimeZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-maintenancewindow.html#cfn-amazonmq-broker-maintenancewindow-timezone",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AmazonMQ::Broker.TagsEntry": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-tagsentry.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-tagsentry.html#cfn-amazonmq-broker-tagsentry-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-tagsentry.html#cfn-amazonmq-broker-tagsentry-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AmazonMQ::Broker.User": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html",
    "Properties": {
      "ConsoleAccess": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html#cfn-amazonmq-broker-user-consoleaccess",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Groups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html#cfn-amazonmq-broker-user-groups",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html#cfn-amazonmq-broker-user-password",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html#cfn-amazonmq-broker-user-username",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AmazonMQ::Configuration.TagsEntry": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configuration-tagsentry.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configuration-tagsentry.html#cfn-amazonmq-configuration-tagsentry-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configuration-tagsentry.html#cfn-amazonmq-configuration-tagsentry-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AmazonMQ::ConfigurationAssociation.ConfigurationId": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configurationassociation-configurationid.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configurationassociation-configurationid.html#cfn-amazonmq-configurationassociation-configurationid-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Revision": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-configurationassociation-configurationid.html#cfn-amazonmq-configurationassociation-configurationid-revision",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Amplify::App.AutoBranchCreationConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html",
    "Properties": {
      "AutoBranchCreationPatterns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-autobranchcreationpatterns",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "BasicAuthConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-basicauthconfig",
        "Required": false,
        "Type": "BasicAuthConfig",
        "UpdateType": "Mutable"
      },
      "BuildSpec": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-buildspec",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnableAutoBranchCreation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enableautobranchcreation",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnableAutoBuild": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enableautobuild",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnablePullRequestPreview": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-enablepullrequestpreview",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnvironmentVariables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-environmentvariables",
        "ItemType": "EnvironmentVariable",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PullRequestEnvironmentName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-pullrequestenvironmentname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Stage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-autobranchcreationconfig.html#cfn-amplify-app-autobranchcreationconfig-stage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Amplify::App.BasicAuthConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html",
    "Properties": {
      "EnableBasicAuth": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html#cfn-amplify-app-basicauthconfig-enablebasicauth",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html#cfn-amplify-app-basicauthconfig-password",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-basicauthconfig.html#cfn-amplify-app-basicauthconfig-username",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Amplify::App.CustomRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html",
    "Properties": {
      "Condition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html#cfn-amplify-app-customrule-condition",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Source": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html#cfn-amplify-app-customrule-source",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Status": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html#cfn-amplify-app-customrule-status",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Target": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-customrule.html#cfn-amplify-app-customrule-target",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Amplify::App.EnvironmentVariable": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-environmentvariable.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-environmentvariable.html#cfn-amplify-app-environmentvariable-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-app-environmentvariable.html#cfn-amplify-app-environmentvariable-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Amplify::Branch.BasicAuthConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-basicauthconfig.html",
    "Properties": {
      "EnableBasicAuth": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-basicauthconfig.html#cfn-amplify-branch-basicauthconfig-enablebasicauth",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-basicauthconfig.html#cfn-amplify-branch-basicauthconfig-password",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-basicauthconfig.html#cfn-amplify-branch-basicauthconfig-username",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Amplify::Branch.EnvironmentVariable": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-environmentvariable.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-environmentvariable.html#cfn-amplify-branch-environmentvariable-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-branch-environmentvariable.html#cfn-amplify-branch-environmentvariable-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Amplify::Domain.SubDomainSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-domain-subdomainsetting.html",
    "Properties": {
      "BranchName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-domain-subdomainsetting.html#cfn-amplify-domain-subdomainsetting-branchname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amplify-domain-subdomainsetting.html#cfn-amplify-domain-subdomainsetting-prefix",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::ApiKey.StageKey": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html",
    "Properties": {
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-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-apigateway-apikey-stagekey.html#cfn-apigateway-apikey-stagekey-stagename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Deployment.AccessLogSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html",
    "Properties": {
      "DestinationArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html#cfn-apigateway-deployment-accesslogsetting-destinationarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Format": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html#cfn-apigateway-deployment-accesslogsetting-format",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Deployment.CanarySetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html",
    "Properties": {
      "PercentTraffic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-percenttraffic",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StageVariableOverrides": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-stagevariableoverrides",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "UseStageCache": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-usestagecache",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Deployment.DeploymentCanarySettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html",
    "Properties": {
      "PercentTraffic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-percenttraffic",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StageVariableOverrides": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-stagevariableoverrides",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Immutable"
      },
      "UseStageCache": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-usestagecache",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::Deployment.MethodSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription-methodsetting.html",
    "Properties": {
      "CacheDataEncrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-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-apigateway-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-apigateway-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-apigateway-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-apigateway-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-apigateway-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-apigateway-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-apigateway-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-apigateway-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-apigateway-deployment-stagedescription-methodsetting.html#cfn-apigateway-deployment-stagedescription-methodsetting-throttlingratelimit",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Deployment.StageDescription": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html",
    "Properties": {
      "AccessLogSetting": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-accesslogsetting",
        "Required": false,
        "Type": "AccessLogSetting",
        "UpdateType": "Mutable"
      },
      "CacheClusterEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-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-apigateway-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-apigateway-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-apigateway-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-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachingenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CanarySetting": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-canarysetting",
        "Required": false,
        "Type": "CanarySetting",
        "UpdateType": "Mutable"
      },
      "ClientCertificateId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-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-apigateway-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-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DocumentationVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-documentationversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LoggingLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-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-apigateway-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-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-metricsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ThrottlingBurstLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-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-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-throttlingratelimit",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TracingEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-tracingenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Variables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-variables",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::DocumentationPart.Location": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html",
    "Properties": {
      "Method": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-method",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StatusCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-statuscode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-documentationpart-location.html#cfn-apigateway-documentationpart-location-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::DomainName.EndpointConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html",
    "Properties": {
      "Types": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html#cfn-apigateway-domainname-endpointconfiguration-types",
        "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"
      },
      "ConnectionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-connectionid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ConnectionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-connectiontype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ContentHandling": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-contenthandling",
        "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"
      },
      "TimeoutInMillis": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html#cfn-apigateway-method-integration-timeoutinmillis",
        "PrimitiveType": "Integer",
        "Required": false,
        "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::ApiGateway::Method.IntegrationResponse": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html",
    "Properties": {
      "ContentHandling": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html#cfn-apigateway-method-integrationresponse-contenthandling",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "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": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::RestApi.EndpointConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html",
    "Properties": {
      "Types": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-types",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcEndpointIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-vpcendpointids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::RestApi.S3Location": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-bucket",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ETag": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-etag",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Stage.AccessLogSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html",
    "Properties": {
      "DestinationArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html#cfn-apigateway-stage-accesslogsetting-destinationarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Format": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-accesslogsetting.html#cfn-apigateway-stage-accesslogsetting-format",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Stage.CanarySetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html",
    "Properties": {
      "DeploymentId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-deploymentid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PercentTraffic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-percenttraffic",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StageVariableOverrides": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-stagevariableoverrides",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "UseStageCache": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-canarysetting.html#cfn-apigateway-stage-canarysetting-usestagecache",
        "PrimitiveType": "Boolean",
        "Required": false,
        "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::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"
      },
      "Throttle": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-usageplan-apistage.html#cfn-apigateway-usageplan-apistage-throttle",
        "DuplicatesAllowed": false,
        "ItemType": "ThrottleSettings",
        "Required": false,
        "Type": "Map",
        "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::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::ApiGatewayV2::Api.BodyS3Location": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-bucket",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Etag": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-etag",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::Api.Cors": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html",
    "Properties": {
      "AllowCredentials": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-allowcredentials",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AllowHeaders": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-allowheaders",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AllowMethods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-allowmethods",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AllowOrigins": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-alloworigins",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ExposeHeaders": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-exposeheaders",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MaxAge": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-cors.html#cfn-apigatewayv2-api-cors-maxage",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::Authorizer.JWTConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html",
    "Properties": {
      "Audience": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html#cfn-apigatewayv2-authorizer-jwtconfiguration-audience",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Issuer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html#cfn-apigatewayv2-authorizer-jwtconfiguration-issuer",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::DomainName.DomainNameConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html",
    "Properties": {
      "CertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CertificateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EndpointType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-endpointtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::Route.ParameterConstraints": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-route-parameterconstraints.html",
    "Properties": {
      "Required": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-route-parameterconstraints.html#cfn-apigatewayv2-route-parameterconstraints-required",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::RouteResponse.ParameterConstraints": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routeresponse-parameterconstraints.html",
    "Properties": {
      "Required": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-routeresponse-parameterconstraints.html#cfn-apigatewayv2-routeresponse-parameterconstraints-required",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::Stage.AccessLogSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-accesslogsettings.html",
    "Properties": {
      "DestinationArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-accesslogsettings.html#cfn-apigatewayv2-stage-accesslogsettings-destinationarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Format": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-accesslogsettings.html#cfn-apigatewayv2-stage-accesslogsettings-format",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::Stage.RouteSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html",
    "Properties": {
      "DataTraceEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-datatraceenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DetailedMetricsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-detailedmetricsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LoggingLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-logginglevel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThrottlingBurstLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-throttlingburstlimit",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThrottlingRateLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html#cfn-apigatewayv2-stage-routesettings-throttlingratelimit",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Mesh.EgressFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-egressfilter.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-egressfilter.html#cfn-appmesh-mesh-egressfilter-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Mesh.MeshSpec": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-meshspec.html",
    "Properties": {
      "EgressFilter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-mesh-meshspec.html#cfn-appmesh-mesh-meshspec-egressfilter",
        "Required": false,
        "Type": "EgressFilter",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.Duration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-duration.html",
    "Properties": {
      "Unit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-duration.html#cfn-appmesh-route-duration-unit",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-duration.html#cfn-appmesh-route-duration-value",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.GrpcRetryPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html",
    "Properties": {
      "GrpcRetryEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-grpcretryevents",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "HttpRetryEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-httpretryevents",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MaxRetries": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-maxretries",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PerRetryTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-perretrytimeout",
        "Required": true,
        "Type": "Duration",
        "UpdateType": "Mutable"
      },
      "TcpRetryEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcretrypolicy.html#cfn-appmesh-route-grpcretrypolicy-tcpretryevents",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.GrpcRoute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-action",
        "Required": true,
        "Type": "GrpcRouteAction",
        "UpdateType": "Mutable"
      },
      "Match": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-match",
        "Required": true,
        "Type": "GrpcRouteMatch",
        "UpdateType": "Mutable"
      },
      "RetryPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroute.html#cfn-appmesh-route-grpcroute-retrypolicy",
        "Required": false,
        "Type": "GrpcRetryPolicy",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.GrpcRouteAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcrouteaction.html",
    "Properties": {
      "WeightedTargets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcrouteaction.html#cfn-appmesh-route-grpcrouteaction-weightedtargets",
        "ItemType": "WeightedTarget",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.GrpcRouteMatch": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html",
    "Properties": {
      "Metadata": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-metadata",
        "ItemType": "GrpcRouteMetadata",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MethodName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-methodname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ServiceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutematch.html#cfn-appmesh-route-grpcroutematch-servicename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.GrpcRouteMetadata": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html",
    "Properties": {
      "Invert": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html#cfn-appmesh-route-grpcroutemetadata-invert",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Match": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html#cfn-appmesh-route-grpcroutemetadata-match",
        "Required": false,
        "Type": "GrpcRouteMetadataMatchMethod",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadata.html#cfn-appmesh-route-grpcroutemetadata-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.GrpcRouteMetadataMatchMethod": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html",
    "Properties": {
      "Exact": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-exact",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-prefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Range": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-range",
        "Required": false,
        "Type": "MatchRange",
        "UpdateType": "Mutable"
      },
      "Regex": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-regex",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Suffix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-suffix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.HeaderMatchMethod": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html",
    "Properties": {
      "Exact": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-exact",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-prefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Range": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-range",
        "Required": false,
        "Type": "MatchRange",
        "UpdateType": "Mutable"
      },
      "Regex": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-regex",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Suffix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-headermatchmethod.html#cfn-appmesh-route-headermatchmethod-suffix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.HttpRetryPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html",
    "Properties": {
      "HttpRetryEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-httpretryevents",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MaxRetries": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-maxretries",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PerRetryTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-perretrytimeout",
        "Required": true,
        "Type": "Duration",
        "UpdateType": "Mutable"
      },
      "TcpRetryEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httpretrypolicy.html#cfn-appmesh-route-httpretrypolicy-tcpretryevents",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.HttpRoute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-action",
        "Required": true,
        "Type": "HttpRouteAction",
        "UpdateType": "Mutable"
      },
      "Match": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-match",
        "Required": true,
        "Type": "HttpRouteMatch",
        "UpdateType": "Mutable"
      },
      "RetryPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproute.html#cfn-appmesh-route-httproute-retrypolicy",
        "Required": false,
        "Type": "HttpRetryPolicy",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.HttpRouteAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteaction.html",
    "Properties": {
      "WeightedTargets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteaction.html#cfn-appmesh-route-httprouteaction-weightedtargets",
        "ItemType": "WeightedTarget",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.HttpRouteHeader": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html",
    "Properties": {
      "Invert": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html#cfn-appmesh-route-httprouteheader-invert",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Match": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html#cfn-appmesh-route-httprouteheader-match",
        "Required": false,
        "Type": "HeaderMatchMethod",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httprouteheader.html#cfn-appmesh-route-httprouteheader-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.HttpRouteMatch": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html",
    "Properties": {
      "Headers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-headers",
        "ItemType": "HttpRouteHeader",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Method": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-method",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-prefix",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Scheme": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-httproutematch.html#cfn-appmesh-route-httproutematch-scheme",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.MatchRange": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-matchrange.html",
    "Properties": {
      "End": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-matchrange.html#cfn-appmesh-route-matchrange-end",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Start": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-matchrange.html#cfn-appmesh-route-matchrange-start",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.RouteSpec": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html",
    "Properties": {
      "GrpcRoute": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-grpcroute",
        "Required": false,
        "Type": "GrpcRoute",
        "UpdateType": "Mutable"
      },
      "Http2Route": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-http2route",
        "Required": false,
        "Type": "HttpRoute",
        "UpdateType": "Mutable"
      },
      "HttpRoute": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-httproute",
        "Required": false,
        "Type": "HttpRoute",
        "UpdateType": "Mutable"
      },
      "Priority": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-priority",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TcpRoute": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-routespec.html#cfn-appmesh-route-routespec-tcproute",
        "Required": false,
        "Type": "TcpRoute",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.TcpRoute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproute.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcproute.html#cfn-appmesh-route-tcproute-action",
        "Required": true,
        "Type": "TcpRouteAction",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.TcpRouteAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcprouteaction.html",
    "Properties": {
      "WeightedTargets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-tcprouteaction.html#cfn-appmesh-route-tcprouteaction-weightedtargets",
        "ItemType": "WeightedTarget",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route.WeightedTarget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-weightedtarget.html",
    "Properties": {
      "VirtualNode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-weightedtarget.html#cfn-appmesh-route-weightedtarget-virtualnode",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Weight": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-weightedtarget.html#cfn-appmesh-route-weightedtarget-weight",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.AccessLog": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-accesslog.html",
    "Properties": {
      "File": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-accesslog.html#cfn-appmesh-virtualnode-accesslog-file",
        "Required": false,
        "Type": "FileAccessLog",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.AwsCloudMapInstanceAttribute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapinstanceattribute.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapinstanceattribute.html#cfn-appmesh-virtualnode-awscloudmapinstanceattribute-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapinstanceattribute.html#cfn-appmesh-virtualnode-awscloudmapinstanceattribute-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.AwsCloudMapServiceDiscovery": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html",
    "Properties": {
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html#cfn-appmesh-virtualnode-awscloudmapservicediscovery-attributes",
        "ItemType": "AwsCloudMapInstanceAttribute",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "NamespaceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html#cfn-appmesh-virtualnode-awscloudmapservicediscovery-namespacename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ServiceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html#cfn-appmesh-virtualnode-awscloudmapservicediscovery-servicename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.Backend": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backend.html",
    "Properties": {
      "VirtualService": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backend.html#cfn-appmesh-virtualnode-backend-virtualservice",
        "Required": false,
        "Type": "VirtualServiceBackend",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.DnsServiceDiscovery": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html",
    "Properties": {
      "Hostname": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html#cfn-appmesh-virtualnode-dnsservicediscovery-hostname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.FileAccessLog": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-fileaccesslog.html",
    "Properties": {
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-fileaccesslog.html#cfn-appmesh-virtualnode-fileaccesslog-path",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.HealthCheck": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html",
    "Properties": {
      "HealthyThreshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-healthythreshold",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IntervalMillis": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-intervalmillis",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-protocol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TimeoutMillis": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-timeoutmillis",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "UnhealthyThreshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-unhealthythreshold",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.Listener": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html",
    "Properties": {
      "HealthCheck": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-healthcheck",
        "Required": false,
        "Type": "HealthCheck",
        "UpdateType": "Mutable"
      },
      "PortMapping": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-portmapping",
        "Required": true,
        "Type": "PortMapping",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.Logging": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html",
    "Properties": {
      "AccessLog": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html#cfn-appmesh-virtualnode-logging-accesslog",
        "Required": false,
        "Type": "AccessLog",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.PortMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-portmapping.html",
    "Properties": {
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-portmapping.html#cfn-appmesh-virtualnode-portmapping-port",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-portmapping.html#cfn-appmesh-virtualnode-portmapping-protocol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.ServiceDiscovery": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html",
    "Properties": {
      "AWSCloudMap": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html#cfn-appmesh-virtualnode-servicediscovery-awscloudmap",
        "Required": false,
        "Type": "AwsCloudMapServiceDiscovery",
        "UpdateType": "Mutable"
      },
      "DNS": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html#cfn-appmesh-virtualnode-servicediscovery-dns",
        "Required": false,
        "Type": "DnsServiceDiscovery",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.VirtualNodeSpec": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html",
    "Properties": {
      "Backends": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backends",
        "ItemType": "Backend",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Listeners": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-listeners",
        "ItemType": "Listener",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Logging": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-logging",
        "Required": false,
        "Type": "Logging",
        "UpdateType": "Mutable"
      },
      "ServiceDiscovery": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-servicediscovery",
        "Required": false,
        "Type": "ServiceDiscovery",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode.VirtualServiceBackend": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html",
    "Properties": {
      "VirtualServiceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html#cfn-appmesh-virtualnode-virtualservicebackend-virtualservicename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualRouter.PortMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-portmapping.html",
    "Properties": {
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-portmapping.html#cfn-appmesh-virtualrouter-portmapping-port",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-portmapping.html#cfn-appmesh-virtualrouter-portmapping-protocol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualRouter.VirtualRouterListener": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-virtualrouterlistener.html",
    "Properties": {
      "PortMapping": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-virtualrouterlistener.html#cfn-appmesh-virtualrouter-virtualrouterlistener-portmapping",
        "Required": true,
        "Type": "PortMapping",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualRouter.VirtualRouterSpec": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-virtualrouterspec.html",
    "Properties": {
      "Listeners": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualrouter-virtualrouterspec.html#cfn-appmesh-virtualrouter-virtualrouterspec-listeners",
        "ItemType": "VirtualRouterListener",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualService.VirtualNodeServiceProvider": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualnodeserviceprovider.html",
    "Properties": {
      "VirtualNodeName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualnodeserviceprovider.html#cfn-appmesh-virtualservice-virtualnodeserviceprovider-virtualnodename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualService.VirtualRouterServiceProvider": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualrouterserviceprovider.html",
    "Properties": {
      "VirtualRouterName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualrouterserviceprovider.html#cfn-appmesh-virtualservice-virtualrouterserviceprovider-virtualroutername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualService.VirtualServiceProvider": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualserviceprovider.html",
    "Properties": {
      "VirtualNode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualserviceprovider.html#cfn-appmesh-virtualservice-virtualserviceprovider-virtualnode",
        "Required": false,
        "Type": "VirtualNodeServiceProvider",
        "UpdateType": "Mutable"
      },
      "VirtualRouter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualserviceprovider.html#cfn-appmesh-virtualservice-virtualserviceprovider-virtualrouter",
        "Required": false,
        "Type": "VirtualRouterServiceProvider",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::VirtualService.VirtualServiceSpec": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualservicespec.html",
    "Properties": {
      "Provider": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualservice-virtualservicespec.html#cfn-appmesh-virtualservice-virtualservicespec-provider",
        "Required": false,
        "Type": "VirtualServiceProvider",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::DirectoryConfig.ServiceAccountCredentials": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-serviceaccountcredentials.html",
    "Properties": {
      "AccountName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-serviceaccountcredentials.html#cfn-appstream-directoryconfig-serviceaccountcredentials-accountname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "AccountPassword": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-serviceaccountcredentials.html#cfn-appstream-directoryconfig-serviceaccountcredentials-accountpassword",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::Fleet.ComputeCapacity": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-computecapacity.html",
    "Properties": {
      "DesiredInstances": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-computecapacity.html#cfn-appstream-fleet-computecapacity-desiredinstances",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::Fleet.DomainJoinInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html",
    "Properties": {
      "DirectoryName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html#cfn-appstream-fleet-domainjoininfo-directoryname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OrganizationalUnitDistinguishedName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html#cfn-appstream-fleet-domainjoininfo-organizationalunitdistinguishedname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::Fleet.VpcConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-vpcconfig.html",
    "Properties": {
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-vpcconfig.html#cfn-appstream-fleet-vpcconfig-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-vpcconfig.html#cfn-appstream-fleet-vpcconfig-subnetids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::ImageBuilder.AccessEndpoint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html",
    "Properties": {
      "EndpointType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html#cfn-appstream-imagebuilder-accessendpoint-endpointtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VpceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html#cfn-appstream-imagebuilder-accessendpoint-vpceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::ImageBuilder.DomainJoinInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html",
    "Properties": {
      "DirectoryName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html#cfn-appstream-imagebuilder-domainjoininfo-directoryname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OrganizationalUnitDistinguishedName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html#cfn-appstream-imagebuilder-domainjoininfo-organizationalunitdistinguishedname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::ImageBuilder.VpcConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html",
    "Properties": {
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html#cfn-appstream-imagebuilder-vpcconfig-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html#cfn-appstream-imagebuilder-vpcconfig-subnetids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::Stack.AccessEndpoint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-accessendpoint.html",
    "Properties": {
      "EndpointType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-accessendpoint.html#cfn-appstream-stack-accessendpoint-endpointtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VpceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-accessendpoint.html#cfn-appstream-stack-accessendpoint-vpceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::Stack.ApplicationSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html#cfn-appstream-stack-applicationsettings-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SettingsGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html#cfn-appstream-stack-applicationsettings-settingsgroup",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::Stack.StorageConnector": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html",
    "Properties": {
      "ConnectorType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-connectortype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Domains": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-domains",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ResourceIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-resourceidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::Stack.UserSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html#cfn-appstream-stack-usersetting-action",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Permission": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html#cfn-appstream-stack-usersetting-permission",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::DataSource.AuthorizationConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html",
    "Properties": {
      "AuthorizationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html#cfn-appsync-datasource-authorizationconfig-authorizationtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "AwsIamConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-authorizationconfig.html#cfn-appsync-datasource-authorizationconfig-awsiamconfig",
        "Required": false,
        "Type": "AwsIamConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::DataSource.AwsIamConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html",
    "Properties": {
      "SigningRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html#cfn-appsync-datasource-awsiamconfig-signingregion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SigningServiceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-awsiamconfig.html#cfn-appsync-datasource-awsiamconfig-signingservicename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::DataSource.DeltaSyncConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html",
    "Properties": {
      "BaseTableTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html#cfn-appsync-datasource-deltasyncconfig-basetablettl",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DeltaSyncTableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html#cfn-appsync-datasource-deltasyncconfig-deltasynctablename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DeltaSyncTableTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html#cfn-appsync-datasource-deltasyncconfig-deltasynctablettl",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::DataSource.DynamoDBConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html",
    "Properties": {
      "AwsRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-awsregion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DeltaSyncConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-deltasyncconfig",
        "Required": false,
        "Type": "DeltaSyncConfig",
        "UpdateType": "Mutable"
      },
      "TableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-tablename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "UseCallerCredentials": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-usecallercredentials",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Versioned": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-versioned",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::DataSource.ElasticsearchConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-elasticsearchconfig.html",
    "Properties": {
      "AwsRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-elasticsearchconfig.html#cfn-appsync-datasource-elasticsearchconfig-awsregion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Endpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-elasticsearchconfig.html#cfn-appsync-datasource-elasticsearchconfig-endpoint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::DataSource.HttpConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html",
    "Properties": {
      "AuthorizationConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html#cfn-appsync-datasource-httpconfig-authorizationconfig",
        "Required": false,
        "Type": "AuthorizationConfig",
        "UpdateType": "Mutable"
      },
      "Endpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-httpconfig.html#cfn-appsync-datasource-httpconfig-endpoint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::DataSource.LambdaConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html",
    "Properties": {
      "LambdaFunctionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html#cfn-appsync-datasource-lambdaconfig-lambdafunctionarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::DataSource.RdsHttpEndpointConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html",
    "Properties": {
      "AwsRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-awsregion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "AwsSecretStoreArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-awssecretstorearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-databasename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DbClusterIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-dbclusteridentifier",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Schema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-rdshttpendpointconfig.html#cfn-appsync-datasource-rdshttpendpointconfig-schema",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::DataSource.RelationalDatabaseConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html",
    "Properties": {
      "RdsHttpEndpointConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html#cfn-appsync-datasource-relationaldatabaseconfig-rdshttpendpointconfig",
        "Required": false,
        "Type": "RdsHttpEndpointConfig",
        "UpdateType": "Mutable"
      },
      "RelationalDatabaseSourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-relationaldatabaseconfig.html#cfn-appsync-datasource-relationaldatabaseconfig-relationaldatabasesourcetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::GraphQLApi.AdditionalAuthenticationProvider": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html",
    "Properties": {
      "AuthenticationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html#cfn-appsync-graphqlapi-additionalauthenticationprovider-authenticationtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OpenIDConnectConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html#cfn-appsync-graphqlapi-additionalauthenticationprovider-openidconnectconfig",
        "Required": false,
        "Type": "OpenIDConnectConfig",
        "UpdateType": "Mutable"
      },
      "UserPoolConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html#cfn-appsync-graphqlapi-additionalauthenticationprovider-userpoolconfig",
        "Required": false,
        "Type": "CognitoUserPoolConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::GraphQLApi.AdditionalAuthenticationProviders": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationproviders.html",
    "ItemType": "AdditionalAuthenticationProvider",
    "Required": false,
    "Type": "List",
    "UpdateType": "Mutable"
  },
  "AWS::AppSync::GraphQLApi.CognitoUserPoolConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-cognitouserpoolconfig.html",
    "Properties": {
      "AppIdClientRegex": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-cognitouserpoolconfig.html#cfn-appsync-graphqlapi-cognitouserpoolconfig-appidclientregex",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AwsRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-cognitouserpoolconfig.html#cfn-appsync-graphqlapi-cognitouserpoolconfig-awsregion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-cognitouserpoolconfig.html#cfn-appsync-graphqlapi-cognitouserpoolconfig-userpoolid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::GraphQLApi.LogConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html",
    "Properties": {
      "CloudWatchLogsRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html#cfn-appsync-graphqlapi-logconfig-cloudwatchlogsrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExcludeVerboseContent": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html#cfn-appsync-graphqlapi-logconfig-excludeverbosecontent",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FieldLogLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html#cfn-appsync-graphqlapi-logconfig-fieldloglevel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::GraphQLApi.OpenIDConnectConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html",
    "Properties": {
      "AuthTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html#cfn-appsync-graphqlapi-openidconnectconfig-authttl",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ClientId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html#cfn-appsync-graphqlapi-openidconnectconfig-clientid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IatTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html#cfn-appsync-graphqlapi-openidconnectconfig-iatttl",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Issuer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html#cfn-appsync-graphqlapi-openidconnectconfig-issuer",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::GraphQLApi.Tags": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-tags.html",
    "ItemType": "Tag",
    "Required": false,
    "Type": "List",
    "UpdateType": "Mutable"
  },
  "AWS::AppSync::GraphQLApi.UserPoolConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html",
    "Properties": {
      "AppIdClientRegex": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html#cfn-appsync-graphqlapi-userpoolconfig-appidclientregex",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AwsRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html#cfn-appsync-graphqlapi-userpoolconfig-awsregion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html#cfn-appsync-graphqlapi-userpoolconfig-defaultaction",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html#cfn-appsync-graphqlapi-userpoolconfig-userpoolid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::Resolver.CachingConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html",
    "Properties": {
      "CachingKeys": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html#cfn-appsync-resolver-cachingconfig-cachingkeys",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Ttl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html#cfn-appsync-resolver-cachingconfig-ttl",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::Resolver.LambdaConflictHandlerConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-lambdaconflicthandlerconfig.html",
    "Properties": {
      "LambdaConflictHandlerArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-lambdaconflicthandlerconfig.html#cfn-appsync-resolver-lambdaconflicthandlerconfig-lambdaconflicthandlerarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::Resolver.PipelineConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-pipelineconfig.html",
    "Properties": {
      "Functions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-pipelineconfig.html#cfn-appsync-resolver-pipelineconfig-functions",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::Resolver.SyncConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html",
    "Properties": {
      "ConflictDetection": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html#cfn-appsync-resolver-syncconfig-conflictdetection",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ConflictHandler": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html#cfn-appsync-resolver-syncconfig-conflicthandler",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LambdaConflictHandlerConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html#cfn-appsync-resolver-syncconfig-lambdaconflicthandlerconfig",
        "Required": false,
        "Type": "LambdaConflictHandlerConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApplicationAutoScaling::ScalableTarget.ScalableTargetAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html",
    "Properties": {
      "MaxCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html#cfn-applicationautoscaling-scalabletarget-scalabletargetaction-maxcapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scalabletargetaction.html#cfn-applicationautoscaling-scalabletarget-scalabletargetaction-mincapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApplicationAutoScaling::ScalableTarget.ScheduledAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html",
    "Properties": {
      "EndTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-endtime",
        "PrimitiveType": "Timestamp",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScalableTargetAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-scalabletargetaction",
        "Required": false,
        "Type": "ScalableTargetAction",
        "UpdateType": "Mutable"
      },
      "Schedule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-schedule",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ScheduledActionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-scheduledactionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StartTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-scheduledaction.html#cfn-applicationautoscaling-scalabletarget-scheduledaction-starttime",
        "PrimitiveType": "Timestamp",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApplicationAutoScaling::ScalableTarget.SuspendedState": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html",
    "Properties": {
      "DynamicScalingInSuspended": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html#cfn-applicationautoscaling-scalabletarget-suspendedstate-dynamicscalinginsuspended",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DynamicScalingOutSuspended": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html#cfn-applicationautoscaling-scalabletarget-suspendedstate-dynamicscalingoutsuspended",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScheduledScalingSuspended": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalabletarget-suspendedstate.html#cfn-applicationautoscaling-scalabletarget-suspendedstate-scheduledscalingsuspended",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApplicationAutoScaling::ScalingPolicy.CustomizedMetricSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html",
    "Properties": {
      "Dimensions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-dimensions",
        "DuplicatesAllowed": false,
        "ItemType": "MetricDimension",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-namespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Statistic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-statistic",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Unit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-customizedmetricspecification-unit",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApplicationAutoScaling::ScalingPolicy.MetricDimension": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html#cfn-applicationautoscaling-scalingpolicy-metricdimension-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-metricdimension.html#cfn-applicationautoscaling-scalingpolicy-metricdimension-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html",
    "Properties": {
      "PredefinedMetricType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predefinedmetricspecification-predefinedmetrictype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ResourceLabel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-applicationautoscaling-scalingpolicy-predefinedmetricspecification-resourcelabel",
        "PrimitiveType": "String",
        "Required": false,
        "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::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::ApplicationAutoScaling::ScalingPolicy.TargetTrackingScalingPolicyConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html",
    "Properties": {
      "CustomizedMetricSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-customizedmetricspecification",
        "Required": false,
        "Type": "CustomizedMetricSpecification",
        "UpdateType": "Mutable"
      },
      "DisableScaleIn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-disablescalein",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PredefinedMetricSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-predefinedmetricspecification",
        "Required": false,
        "Type": "PredefinedMetricSpecification",
        "UpdateType": "Mutable"
      },
      "ScaleInCooldown": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-scaleincooldown",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScaleOutCooldown": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-scaleoutcooldown",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration-targetvalue",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::AutoScalingGroup.InstancesDistribution": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html",
    "Properties": {
      "OnDemandAllocationStrategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-ondemandallocationstrategy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OnDemandBaseCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-ondemandbasecapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OnDemandPercentageAboveBaseCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-ondemandpercentageabovebasecapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SpotAllocationStrategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-spotallocationstrategy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SpotInstancePools": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-spotinstancepools",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SpotMaxPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-instancesdistribution.html#cfn-autoscaling-autoscalinggroup-instancesdistribution-spotmaxprice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::AutoScalingGroup.LaunchTemplate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplate.html",
    "Properties": {
      "LaunchTemplateSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplate.html#cfn-as-group-launchtemplate",
        "Required": true,
        "Type": "LaunchTemplateSpecification",
        "UpdateType": "Mutable"
      },
      "Overrides": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplate.html#cfn-as-mixedinstancespolicy-overrides",
        "DuplicatesAllowed": false,
        "ItemType": "LaunchTemplateOverrides",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateOverrides": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html",
    "Properties": {
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-mixedinstancespolicy-launchtemplateoverrides.html#cfn-autoscaling-autoscalinggroup-launchtemplateoverrides-instancetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::AutoScalingGroup.LaunchTemplateSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html",
    "Properties": {
      "LaunchTemplateId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html#cfn-autoscaling-autoscalinggroup-launchtemplatespecification-launchtemplateid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LaunchTemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html#cfn-autoscaling-autoscalinggroup-launchtemplatespecification-launchtemplatename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-launchtemplatespecification.html#cfn-autoscaling-autoscalinggroup-launchtemplatespecification-version",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::AutoScalingGroup.LifecycleHookSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html",
    "Properties": {
      "DefaultResult": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-defaultresult",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HeartbeatTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-heartbeattimeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LifecycleHookName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-lifecyclehookname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "LifecycleTransition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-lifecycletransition",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "NotificationMetadata": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-notificationmetadata",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NotificationTargetARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-notificationtargetarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-lifecyclehookspecification.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecification-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "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::AutoScaling::AutoScalingGroup.MixedInstancesPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html",
    "Properties": {
      "InstancesDistribution": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html#cfn-as-mixedinstancespolicy-instancesdistribution",
        "Required": false,
        "Type": "InstancesDistribution",
        "UpdateType": "Mutable"
      },
      "LaunchTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-as-group-mixedinstancespolicy.html#cfn-as-mixedinstancespolicy-launchtemplate",
        "Required": true,
        "Type": "LaunchTemplate",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::AutoScalingGroup.NotificationConfiguration": {
    "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::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::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": "Integer",
        "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::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::AutoScaling::ScalingPolicy.CustomizedMetricSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html",
    "Properties": {
      "Dimensions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-dimensions",
        "DuplicatesAllowed": false,
        "ItemType": "MetricDimension",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-namespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Statistic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-statistic",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Unit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-customizedmetricspecification.html#cfn-autoscaling-scalingpolicy-customizedmetricspecification-unit",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::ScalingPolicy.MetricDimension": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdimension.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdimension.html#cfn-autoscaling-scalingpolicy-metricdimension-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-metricdimension.html#cfn-autoscaling-scalingpolicy-metricdimension-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScaling::ScalingPolicy.PredefinedMetricSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predefinedmetricspecification.html",
    "Properties": {
      "PredefinedMetricType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-autoscaling-scalingpolicy-predefinedmetricspecification-predefinedmetrictype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ResourceLabel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-predefinedmetricspecification.html#cfn-autoscaling-scalingpolicy-predefinedmetricspecification-resourcelabel",
        "PrimitiveType": "String",
        "Required": false,
        "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::AutoScaling::ScalingPolicy.TargetTrackingConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html",
    "Properties": {
      "CustomizedMetricSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration-customizedmetricspecification",
        "Required": false,
        "Type": "CustomizedMetricSpecification",
        "UpdateType": "Mutable"
      },
      "DisableScaleIn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration-disablescalein",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PredefinedMetricSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration-predefinedmetricspecification",
        "Required": false,
        "Type": "PredefinedMetricSpecification",
        "UpdateType": "Mutable"
      },
      "TargetValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-scalingpolicy-targettrackingconfiguration.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration-targetvalue",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScalingPlans::ScalingPlan.ApplicationSource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-applicationsource.html",
    "Properties": {
      "CloudFormationStackARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-applicationsource.html#cfn-autoscalingplans-scalingplan-applicationsource-cloudformationstackarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TagFilters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-applicationsource.html#cfn-autoscalingplans-scalingplan-applicationsource-tagfilters",
        "ItemType": "TagFilter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScalingPlans::ScalingPlan.CustomizedLoadMetricSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html",
    "Properties": {
      "Dimensions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedloadmetricspecification-dimensions",
        "ItemType": "MetricDimension",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedloadmetricspecification-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedloadmetricspecification-namespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Statistic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedloadmetricspecification-statistic",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Unit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedloadmetricspecification-unit",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScalingPlans::ScalingPlan.CustomizedScalingMetricSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html",
    "Properties": {
      "Dimensions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedscalingmetricspecification-dimensions",
        "ItemType": "MetricDimension",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedscalingmetricspecification-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedscalingmetricspecification-namespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Statistic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedscalingmetricspecification-statistic",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Unit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-customizedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-customizedscalingmetricspecification-unit",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScalingPlans::ScalingPlan.MetricDimension": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-metricdimension.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-metricdimension.html#cfn-autoscalingplans-scalingplan-metricdimension-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-metricdimension.html#cfn-autoscalingplans-scalingplan-metricdimension-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScalingPlans::ScalingPlan.PredefinedLoadMetricSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedloadmetricspecification.html",
    "Properties": {
      "PredefinedLoadMetricType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-predefinedloadmetricspecification-predefinedloadmetrictype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ResourceLabel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedloadmetricspecification.html#cfn-autoscalingplans-scalingplan-predefinedloadmetricspecification-resourcelabel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScalingPlans::ScalingPlan.PredefinedScalingMetricSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedscalingmetricspecification.html",
    "Properties": {
      "PredefinedScalingMetricType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-predefinedscalingmetricspecification-predefinedscalingmetrictype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ResourceLabel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-predefinedscalingmetricspecification.html#cfn-autoscalingplans-scalingplan-predefinedscalingmetricspecification-resourcelabel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScalingPlans::ScalingPlan.ScalingInstruction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html",
    "Properties": {
      "CustomizedLoadMetricSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-customizedloadmetricspecification",
        "Required": false,
        "Type": "CustomizedLoadMetricSpecification",
        "UpdateType": "Mutable"
      },
      "DisableDynamicScaling": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-disabledynamicscaling",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-maxcapacity",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MinCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-mincapacity",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PredefinedLoadMetricSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-predefinedloadmetricspecification",
        "Required": false,
        "Type": "PredefinedLoadMetricSpecification",
        "UpdateType": "Mutable"
      },
      "PredictiveScalingMaxCapacityBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-predictivescalingmaxcapacitybehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PredictiveScalingMaxCapacityBuffer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-predictivescalingmaxcapacitybuffer",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PredictiveScalingMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-predictivescalingmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-resourceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ScalableDimension": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-scalabledimension",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ScalingPolicyUpdateBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-scalingpolicyupdatebehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScheduledActionBufferTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-scheduledactionbuffertime",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ServiceNamespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-servicenamespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetTrackingConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-scalinginstruction.html#cfn-autoscalingplans-scalingplan-scalinginstruction-targettrackingconfigurations",
        "ItemType": "TargetTrackingConfiguration",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScalingPlans::ScalingPlan.TagFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-tagfilter.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-tagfilter.html#cfn-autoscalingplans-scalingplan-tagfilter-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-tagfilter.html#cfn-autoscalingplans-scalingplan-tagfilter-values",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AutoScalingPlans::ScalingPlan.TargetTrackingConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html",
    "Properties": {
      "CustomizedScalingMetricSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-customizedscalingmetricspecification",
        "Required": false,
        "Type": "CustomizedScalingMetricSpecification",
        "UpdateType": "Mutable"
      },
      "DisableScaleIn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-disablescalein",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EstimatedInstanceWarmup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-estimatedinstancewarmup",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PredefinedScalingMetricSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-predefinedscalingmetricspecification",
        "Required": false,
        "Type": "PredefinedScalingMetricSpecification",
        "UpdateType": "Mutable"
      },
      "ScaleInCooldown": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-scaleincooldown",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScaleOutCooldown": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-scaleoutcooldown",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscalingplans-scalingplan-targettrackingconfiguration.html#cfn-autoscalingplans-scalingplan-targettrackingconfiguration-targetvalue",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Backup::BackupPlan.BackupPlanResourceType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupplanresourcetype.html",
    "Properties": {
      "BackupPlanName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupplanresourcetype.html#cfn-backup-backupplan-backupplanresourcetype-backupplanname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "BackupPlanRule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupplanresourcetype.html#cfn-backup-backupplan-backupplanresourcetype-backupplanrule",
        "ItemType": "BackupRuleResourceType",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Backup::BackupPlan.BackupRuleResourceType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html",
    "Properties": {
      "CompletionWindowMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-completionwindowminutes",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Lifecycle": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-lifecycle",
        "Required": false,
        "Type": "LifecycleResourceType",
        "UpdateType": "Mutable"
      },
      "RecoveryPointTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-recoverypointtags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RuleName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-rulename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ScheduleExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-scheduleexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StartWindowMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-startwindowminutes",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetBackupVault": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-backupruleresourcetype.html#cfn-backup-backupplan-backupruleresourcetype-targetbackupvault",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Backup::BackupPlan.LifecycleResourceType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-lifecycleresourcetype.html",
    "Properties": {
      "DeleteAfterDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-lifecycleresourcetype.html#cfn-backup-backupplan-lifecycleresourcetype-deleteafterdays",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MoveToColdStorageAfterDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-lifecycleresourcetype.html#cfn-backup-backupplan-lifecycleresourcetype-movetocoldstorageafterdays",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Backup::BackupSelection.BackupSelectionResourceType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-backupselectionresourcetype.html",
    "Properties": {
      "IamRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-backupselectionresourcetype.html#cfn-backup-backupselection-backupselectionresourcetype-iamrolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ListOfTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-backupselectionresourcetype.html#cfn-backup-backupselection-backupselectionresourcetype-listoftags",
        "ItemType": "ConditionResourceType",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Resources": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-backupselectionresourcetype.html#cfn-backup-backupselection-backupselectionresourcetype-resources",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SelectionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-backupselectionresourcetype.html#cfn-backup-backupselection-backupselectionresourcetype-selectionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Backup::BackupSelection.ConditionResourceType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-conditionresourcetype.html",
    "Properties": {
      "ConditionKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-conditionresourcetype.html#cfn-backup-backupselection-conditionresourcetype-conditionkey",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ConditionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-conditionresourcetype.html#cfn-backup-backupselection-conditionresourcetype-conditiontype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ConditionValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupselection-conditionresourcetype.html#cfn-backup-backupselection-conditionresourcetype-conditionvalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Backup::BackupVault.NotificationObjectType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupvault-notificationobjecttype.html",
    "Properties": {
      "BackupVaultEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupvault-notificationobjecttype.html#cfn-backup-backupvault-notificationobjecttype-backupvaultevents",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SNSTopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupvault-notificationobjecttype.html#cfn-backup-backupvault-notificationobjecttype-snstopicarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::ComputeEnvironment.ComputeResources": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html",
    "Properties": {
      "AllocationStrategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-allocationstrategy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BidPercentage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-bidpercentage",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DesiredvCpus": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-desiredvcpus",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Ec2KeyPair": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-ec2keypair",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ImageId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-imageid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "InstanceRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-instancerole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InstanceTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-instancetypes",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "LaunchTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-launchtemplate",
        "Required": false,
        "Type": "LaunchTemplateSpecification",
        "UpdateType": "Immutable"
      },
      "MaxvCpus": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-maxvcpus",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MinvCpus": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-minvcpus",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PlacementGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-placementgroup",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "SpotIamFleetRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-spotiamfleetrole",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Subnets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-subnets",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-computeresources.html#cfn-batch-computeenvironment-computeresources-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Batch::ComputeEnvironment.LaunchTemplateSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html",
    "Properties": {
      "LaunchTemplateId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html#cfn-batch-computeenvironment-launchtemplatespecification-launchtemplateid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LaunchTemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html#cfn-batch-computeenvironment-launchtemplatespecification-launchtemplatename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-computeenvironment-launchtemplatespecification.html#cfn-batch-computeenvironment-launchtemplatespecification-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.ContainerProperties": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html",
    "Properties": {
      "Command": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-command",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Environment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-environment",
        "ItemType": "Environment",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Image": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-image",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-instancetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "JobRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-jobrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LinuxParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-linuxparameters",
        "Required": false,
        "Type": "LinuxParameters",
        "UpdateType": "Mutable"
      },
      "Memory": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-memory",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MountPoints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-mountpoints",
        "ItemType": "MountPoints",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Privileged": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-privileged",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReadonlyRootFilesystem": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-readonlyrootfilesystem",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourceRequirements": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-resourcerequirements",
        "ItemType": "ResourceRequirement",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Ulimits": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-ulimits",
        "ItemType": "Ulimit",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "User": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-user",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Vcpus": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-vcpus",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Volumes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-volumes",
        "ItemType": "Volumes",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.Device": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html",
    "Properties": {
      "ContainerPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html#cfn-batch-jobdefinition-device-containerpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HostPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html#cfn-batch-jobdefinition-device-hostpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Permissions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-device.html#cfn-batch-jobdefinition-device-permissions",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.Environment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-environment.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-environment.html#cfn-batch-jobdefinition-environment-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-environment.html#cfn-batch-jobdefinition-environment-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.LinuxParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-linuxparameters.html",
    "Properties": {
      "Devices": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-linuxparameters.html#cfn-batch-jobdefinition-containerproperties-linuxparameters-devices",
        "ItemType": "Device",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.MountPoints": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html",
    "Properties": {
      "ContainerPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html#cfn-batch-jobdefinition-mountpoints-containerpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReadOnly": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html#cfn-batch-jobdefinition-mountpoints-readonly",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SourceVolume": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html#cfn-batch-jobdefinition-mountpoints-sourcevolume",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.NodeProperties": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-nodeproperties.html",
    "Properties": {
      "MainNode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-nodeproperties.html#cfn-batch-jobdefinition-nodeproperties-mainnode",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "NodeRangeProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-nodeproperties.html#cfn-batch-jobdefinition-nodeproperties-noderangeproperties",
        "ItemType": "NodeRangeProperty",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "NumNodes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-nodeproperties.html#cfn-batch-jobdefinition-nodeproperties-numnodes",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.NodeRangeProperty": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html",
    "Properties": {
      "Container": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-container",
        "Required": false,
        "Type": "ContainerProperties",
        "UpdateType": "Mutable"
      },
      "TargetNodes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-targetnodes",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.ResourceRequirement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-resourcerequirement.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-resourcerequirement.html#cfn-batch-jobdefinition-resourcerequirement-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-resourcerequirement.html#cfn-batch-jobdefinition-resourcerequirement-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.RetryStrategy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-retrystrategy.html",
    "Properties": {
      "Attempts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-retrystrategy.html#cfn-batch-jobdefinition-retrystrategy-attempts",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.Timeout": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-timeout.html",
    "Properties": {
      "AttemptDurationSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-timeout.html#cfn-batch-jobdefinition-timeout-attemptdurationseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.Ulimit": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ulimit.html",
    "Properties": {
      "HardLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ulimit.html#cfn-batch-jobdefinition-ulimit-hardlimit",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ulimit.html#cfn-batch-jobdefinition-ulimit-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SoftLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ulimit.html#cfn-batch-jobdefinition-ulimit-softlimit",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.Volumes": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html",
    "Properties": {
      "Host": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html#cfn-batch-jobdefinition-volumes-host",
        "Required": false,
        "Type": "VolumesHost",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html#cfn-batch-jobdefinition-volumes-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobDefinition.VolumesHost": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumeshost.html",
    "Properties": {
      "SourcePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumeshost.html#cfn-batch-jobdefinition-volumeshost-sourcepath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobQueue.ComputeEnvironmentOrder": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-computeenvironmentorder.html",
    "Properties": {
      "ComputeEnvironment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-computeenvironmentorder.html#cfn-batch-jobqueue-computeenvironmentorder-computeenvironment",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Order": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-computeenvironmentorder.html#cfn-batch-jobqueue-computeenvironmentorder-order",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Budgets::Budget.BudgetData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html",
    "Properties": {
      "BudgetLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-budgetlimit",
        "Required": false,
        "Type": "Spend",
        "UpdateType": "Mutable"
      },
      "BudgetName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-budgetname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BudgetType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-budgettype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "CostFilters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-costfilters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CostTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-costtypes",
        "Required": false,
        "Type": "CostTypes",
        "UpdateType": "Mutable"
      },
      "PlannedBudgetLimits": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-plannedbudgetlimits",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TimePeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-timeperiod",
        "Required": false,
        "Type": "TimePeriod",
        "UpdateType": "Mutable"
      },
      "TimeUnit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-timeunit",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Budgets::Budget.CostTypes": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html",
    "Properties": {
      "IncludeCredit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includecredit",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IncludeDiscount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includediscount",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IncludeOtherSubscription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includeothersubscription",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IncludeRecurring": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includerecurring",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IncludeRefund": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includerefund",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IncludeSubscription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includesubscription",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IncludeSupport": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includesupport",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IncludeTax": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includetax",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IncludeUpfront": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-includeupfront",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UseAmortized": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-useamortized",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UseBlended": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costtypes.html#cfn-budgets-budget-costtypes-useblended",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Budgets::Budget.Notification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html",
    "Properties": {
      "ComparisonOperator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html#cfn-budgets-budget-notification-comparisonoperator",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "NotificationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html#cfn-budgets-budget-notification-notificationtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Threshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html#cfn-budgets-budget-notification-threshold",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ThresholdType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notification.html#cfn-budgets-budget-notification-thresholdtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Budgets::Budget.NotificationWithSubscribers": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notificationwithsubscribers.html",
    "Properties": {
      "Notification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notificationwithsubscribers.html#cfn-budgets-budget-notificationwithsubscribers-notification",
        "Required": true,
        "Type": "Notification",
        "UpdateType": "Mutable"
      },
      "Subscribers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-notificationwithsubscribers.html#cfn-budgets-budget-notificationwithsubscribers-subscribers",
        "ItemType": "Subscriber",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Budgets::Budget.Spend": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-spend.html",
    "Properties": {
      "Amount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-spend.html#cfn-budgets-budget-spend-amount",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Unit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-spend.html#cfn-budgets-budget-spend-unit",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Budgets::Budget.Subscriber": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-subscriber.html",
    "Properties": {
      "Address": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-subscriber.html#cfn-budgets-budget-subscriber-address",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SubscriptionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-subscriber.html#cfn-budgets-budget-subscriber-subscriptiontype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Budgets::Budget.TimePeriod": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-timeperiod.html",
    "Properties": {
      "End": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-timeperiod.html#cfn-budgets-budget-timeperiod-end",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Start": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-timeperiod.html#cfn-budgets-budget-timeperiod-start",
        "PrimitiveType": "String",
        "Required": false,
        "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::Cloud9::EnvironmentEC2.Repository": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloud9-environmentec2-repository.html",
    "Properties": {
      "PathComponent": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloud9-environmentec2-repository.html#cfn-cloud9-environmentec2-repository-pathcomponent",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RepositoryUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloud9-environmentec2-repository.html#cfn-cloud9-environmentec2-repository-repositoryurl",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cloudfrontoriginaccessidentity-cloudfrontoriginaccessidentityconfig.html",
    "Properties": {
      "Comment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cloudfrontoriginaccessidentity-cloudfrontoriginaccessidentityconfig.html#cfn-cloudfront-cloudfrontoriginaccessidentity-cloudfrontoriginaccessidentityconfig-comment",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.CacheBehavior": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html",
    "Properties": {
      "AllowedMethods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-allowedmethods",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CachedMethods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-cachedmethods",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Compress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-compress",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-defaultttl",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FieldLevelEncryptionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-fieldlevelencryptionid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ForwardedValues": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-forwardedvalues",
        "Required": true,
        "Type": "ForwardedValues",
        "UpdateType": "Mutable"
      },
      "LambdaFunctionAssociations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-lambdafunctionassociations",
        "ItemType": "LambdaFunctionAssociation",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MaxTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-maxttl",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-minttl",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PathPattern": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-pathpattern",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SmoothStreaming": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-smoothstreaming",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetOriginId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-targetoriginid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TrustedSigners": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-trustedsigners",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ViewerProtocolPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-viewerprotocolpolicy",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.Cookies": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cookies.html",
    "Properties": {
      "Forward": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cookies.html#cfn-cloudfront-distribution-cookies-forward",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "WhitelistedNames": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cookies.html#cfn-cloudfront-distribution-cookies-whitelistednames",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.CustomErrorResponse": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html",
    "Properties": {
      "ErrorCachingMinTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html#cfn-cloudfront-distribution-customerrorresponse-errorcachingminttl",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ErrorCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html#cfn-cloudfront-distribution-customerrorresponse-errorcode",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ResponseCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html#cfn-cloudfront-distribution-customerrorresponse-responsecode",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResponsePagePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html#cfn-cloudfront-distribution-customerrorresponse-responsepagepath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.CustomOriginConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html",
    "Properties": {
      "HTTPPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-httpport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HTTPSPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-httpsport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OriginKeepaliveTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-originkeepalivetimeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OriginProtocolPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-originprotocolpolicy",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OriginReadTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-originreadtimeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OriginSSLProtocols": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-originsslprotocols",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.DefaultCacheBehavior": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html",
    "Properties": {
      "AllowedMethods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-allowedmethods",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CachedMethods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-cachedmethods",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Compress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-compress",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-defaultttl",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FieldLevelEncryptionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-fieldlevelencryptionid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ForwardedValues": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-forwardedvalues",
        "Required": true,
        "Type": "ForwardedValues",
        "UpdateType": "Mutable"
      },
      "LambdaFunctionAssociations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-lambdafunctionassociations",
        "ItemType": "LambdaFunctionAssociation",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MaxTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-maxttl",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinTTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-minttl",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SmoothStreaming": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-smoothstreaming",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetOriginId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-targetoriginid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TrustedSigners": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-trustedsigners",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ViewerProtocolPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-viewerprotocolpolicy",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.DistributionConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html",
    "Properties": {
      "Aliases": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-aliases",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CacheBehaviors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-cachebehaviors",
        "ItemType": "CacheBehavior",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Comment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-comment",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CustomErrorResponses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-customerrorresponses",
        "ItemType": "CustomErrorResponse",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DefaultCacheBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-defaultcachebehavior",
        "Required": false,
        "Type": "DefaultCacheBehavior",
        "UpdateType": "Mutable"
      },
      "DefaultRootObject": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-defaultrootobject",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "HttpVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-httpversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IPV6Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-ipv6enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Logging": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-logging",
        "Required": false,
        "Type": "Logging",
        "UpdateType": "Mutable"
      },
      "Origins": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-origins",
        "ItemType": "Origin",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PriceClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-priceclass",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Restrictions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-restrictions",
        "Required": false,
        "Type": "Restrictions",
        "UpdateType": "Mutable"
      },
      "ViewerCertificate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-viewercertificate",
        "Required": false,
        "Type": "ViewerCertificate",
        "UpdateType": "Mutable"
      },
      "WebACLId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-webaclid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.ForwardedValues": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html",
    "Properties": {
      "Cookies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html#cfn-cloudfront-distribution-forwardedvalues-cookies",
        "Required": false,
        "Type": "Cookies",
        "UpdateType": "Mutable"
      },
      "Headers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html#cfn-cloudfront-distribution-forwardedvalues-headers",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "QueryString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html#cfn-cloudfront-distribution-forwardedvalues-querystring",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "QueryStringCacheKeys": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html#cfn-cloudfront-distribution-forwardedvalues-querystringcachekeys",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.GeoRestriction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-georestriction.html",
    "Properties": {
      "Locations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-georestriction.html#cfn-cloudfront-distribution-georestriction-locations",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RestrictionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-georestriction.html#cfn-cloudfront-distribution-georestriction-restrictiontype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.LambdaFunctionAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html",
    "Properties": {
      "EventType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-eventtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LambdaFunctionARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-lambdafunctionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.Logging": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html#cfn-cloudfront-distribution-logging-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IncludeCookies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html#cfn-cloudfront-distribution-logging-includecookies",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html#cfn-cloudfront-distribution-logging-prefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.Origin": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html",
    "Properties": {
      "CustomOriginConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-customoriginconfig",
        "Required": false,
        "Type": "CustomOriginConfig",
        "UpdateType": "Mutable"
      },
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-domainname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OriginCustomHeaders": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-origincustomheaders",
        "ItemType": "OriginCustomHeader",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "OriginPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "S3OriginConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-s3originconfig",
        "Required": false,
        "Type": "S3OriginConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.OriginCustomHeader": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origincustomheader.html",
    "Properties": {
      "HeaderName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origincustomheader.html#cfn-cloudfront-distribution-origincustomheader-headername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "HeaderValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origincustomheader.html#cfn-cloudfront-distribution-origincustomheader-headervalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.Restrictions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-restrictions.html",
    "Properties": {
      "GeoRestriction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-restrictions.html#cfn-cloudfront-distribution-restrictions-georestriction",
        "Required": true,
        "Type": "GeoRestriction",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.S3OriginConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html",
    "Properties": {
      "OriginAccessIdentity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html#cfn-cloudfront-distribution-s3originconfig-originaccessidentity",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution.ViewerCertificate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html",
    "Properties": {
      "AcmCertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-acmcertificatearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CloudFrontDefaultCertificate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-cloudfrontdefaultcertificate",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IamCertificateId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-iamcertificateid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinimumProtocolVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-minimumprotocolversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SslSupportMethod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-sslsupportmethod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::StreamingDistribution.Logging": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html#cfn-cloudfront-streamingdistribution-logging-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html#cfn-cloudfront-streamingdistribution-logging-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html#cfn-cloudfront-streamingdistribution-logging-prefix",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::StreamingDistribution.S3Origin": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-s3origin.html",
    "Properties": {
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-s3origin.html#cfn-cloudfront-streamingdistribution-s3origin-domainname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OriginAccessIdentity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-s3origin.html#cfn-cloudfront-streamingdistribution-s3origin-originaccessidentity",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html",
    "Properties": {
      "Aliases": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-aliases",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Comment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-comment",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Logging": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-logging",
        "Required": false,
        "Type": "Logging",
        "UpdateType": "Mutable"
      },
      "PriceClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-priceclass",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "S3Origin": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-s3origin",
        "Required": true,
        "Type": "S3Origin",
        "UpdateType": "Mutable"
      },
      "TrustedSigners": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-trustedsigners",
        "Required": true,
        "Type": "TrustedSigners",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::StreamingDistribution.TrustedSigners": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-trustedsigners.html",
    "Properties": {
      "AwsAccountNumbers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-trustedsigners.html#cfn-cloudfront-streamingdistribution-trustedsigners-awsaccountnumbers",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-trustedsigners.html#cfn-cloudfront-streamingdistribution-trustedsigners-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudTrail::Trail.DataResource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-dataresource.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-dataresource.html#cfn-cloudtrail-trail-dataresource-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-dataresource.html#cfn-cloudtrail-trail-dataresource-values",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudTrail::Trail.EventSelector": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html",
    "Properties": {
      "DataResources": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-dataresources",
        "DuplicatesAllowed": false,
        "ItemType": "DataResource",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "IncludeManagementEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-includemanagementevents",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReadWriteType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-trail-eventselector.html#cfn-cloudtrail-trail-eventselector-readwritetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "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::CloudWatch::Alarm.Metric": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metric.html",
    "Properties": {
      "Dimensions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metric.html#cfn-cloudwatch-alarm-metric-dimensions",
        "DuplicatesAllowed": true,
        "ItemType": "Dimension",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metric.html#cfn-cloudwatch-alarm-metric-metricname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metric.html#cfn-cloudwatch-alarm-metric-namespace",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudWatch::Alarm.MetricDataQuery": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html",
    "Properties": {
      "Expression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-expression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Label": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-label",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricStat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-metricstat",
        "Required": false,
        "Type": "MetricStat",
        "UpdateType": "Mutable"
      },
      "ReturnData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricdataquery.html#cfn-cloudwatch-alarm-metricdataquery-returndata",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudWatch::Alarm.MetricStat": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricstat.html",
    "Properties": {
      "Metric": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricstat.html#cfn-cloudwatch-alarm-metricstat-metric",
        "Required": true,
        "Type": "Metric",
        "UpdateType": "Mutable"
      },
      "Period": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricstat.html#cfn-cloudwatch-alarm-metricstat-period",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Stat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricstat.html#cfn-cloudwatch-alarm-metricstat-stat",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Unit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-alarm-metricstat.html#cfn-cloudwatch-alarm-metricstat-unit",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudWatch::AnomalyDetector.Configuration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-configuration.html",
    "Properties": {
      "ExcludedTimeRanges": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-configuration.html#cfn-cloudwatch-anomalydetector-configuration-excludedtimeranges",
        "ItemType": "Range",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MetricTimeZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-configuration.html#cfn-cloudwatch-anomalydetector-configuration-metrictimezone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudWatch::AnomalyDetector.Dimension": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html#cfn-cloudwatch-anomalydetector-dimension-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-dimension.html#cfn-cloudwatch-anomalydetector-dimension-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CloudWatch::AnomalyDetector.Range": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-range.html",
    "Properties": {
      "EndTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-range.html#cfn-cloudwatch-anomalydetector-range-endtime",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StartTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-anomalydetector-range.html#cfn-cloudwatch-anomalydetector-range-starttime",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.Artifacts": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html",
    "Properties": {
      "ArtifactIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-artifactidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EncryptionDisabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-encryptiondisabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-location",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NamespaceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-namespacetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OverrideArtifactName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-overrideartifactname",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Packaging": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-packaging",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.CloudWatchLogsConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html",
    "Properties": {
      "GroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-groupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Status": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-status",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-cloudwatchlogsconfig.html#cfn-codebuild-project-cloudwatchlogsconfig-streamname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.Environment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html",
    "Properties": {
      "Certificate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-certificate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ComputeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-computetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EnvironmentVariables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-environmentvariables",
        "ItemType": "EnvironmentVariable",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Image": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-image",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ImagePullCredentialsType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-imagepullcredentialstype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivilegedMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-privilegedmode",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RegistryCredential": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-registrycredential",
        "Required": false,
        "Type": "RegistryCredential",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environment.html#cfn-codebuild-project-environment-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.EnvironmentVariable": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environmentvariable.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environmentvariable.html#cfn-codebuild-project-environmentvariable-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environmentvariable.html#cfn-codebuild-project-environmentvariable-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-environmentvariable.html#cfn-codebuild-project-environmentvariable-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.FilterGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-filtergroup.html",
    "ItemType": "WebhookFilter",
    "Required": false,
    "Type": "List",
    "UpdateType": "Mutable"
  },
  "AWS::CodeBuild::Project.GitSubmodulesConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-gitsubmodulesconfig.html",
    "Properties": {
      "FetchSubmodules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-gitsubmodulesconfig.html#cfn-codebuild-project-gitsubmodulesconfig-fetchsubmodules",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.LogsConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-logsconfig.html",
    "Properties": {
      "CloudWatchLogs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-logsconfig.html#cfn-codebuild-project-logsconfig-cloudwatchlogs",
        "Required": false,
        "Type": "CloudWatchLogsConfig",
        "UpdateType": "Mutable"
      },
      "S3Logs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-logsconfig.html#cfn-codebuild-project-logsconfig-s3logs",
        "Required": false,
        "Type": "S3LogsConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.ProjectCache": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectcache.html",
    "Properties": {
      "Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectcache.html#cfn-codebuild-project-projectcache-location",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Modes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectcache.html#cfn-codebuild-project-projectcache-modes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectcache.html#cfn-codebuild-project-projectcache-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.ProjectSourceVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectsourceversion.html",
    "Properties": {
      "SourceIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectsourceversion.html#cfn-codebuild-project-projectsourceversion-sourceidentifier",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SourceVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectsourceversion.html#cfn-codebuild-project-projectsourceversion-sourceversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.ProjectTriggers": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html",
    "Properties": {
      "FilterGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html#cfn-codebuild-project-projecttriggers-filtergroups",
        "ItemType": "FilterGroup",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Webhook": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projecttriggers.html#cfn-codebuild-project-projecttriggers-webhook",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.RegistryCredential": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-registrycredential.html",
    "Properties": {
      "Credential": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-registrycredential.html#cfn-codebuild-project-registrycredential-credential",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "CredentialProvider": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-registrycredential.html#cfn-codebuild-project-registrycredential-credentialprovider",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.S3LogsConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html",
    "Properties": {
      "EncryptionDisabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html#cfn-codebuild-project-s3logsconfig-encryptiondisabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html#cfn-codebuild-project-s3logsconfig-location",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Status": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-s3logsconfig.html#cfn-codebuild-project-s3logsconfig-status",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.Source": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html",
    "Properties": {
      "Auth": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-auth",
        "Required": false,
        "Type": "SourceAuth",
        "UpdateType": "Mutable"
      },
      "BuildSpec": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-buildspec",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GitCloneDepth": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-gitclonedepth",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GitSubmodulesConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-gitsubmodulesconfig",
        "Required": false,
        "Type": "GitSubmodulesConfig",
        "UpdateType": "Mutable"
      },
      "InsecureSsl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-insecuressl",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-location",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReportBuildStatus": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-reportbuildstatus",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SourceIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-sourceidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.SourceAuth": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-sourceauth.html",
    "Properties": {
      "Resource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-sourceauth.html#cfn-codebuild-project-sourceauth-resource",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-sourceauth.html#cfn-codebuild-project-sourceauth-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.VpcConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html",
    "Properties": {
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html#cfn-codebuild-project-vpcconfig-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Subnets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html#cfn-codebuild-project-vpcconfig-subnets",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-vpcconfig.html#cfn-codebuild-project-vpcconfig-vpcid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project.WebhookFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-webhookfilter.html",
    "Properties": {
      "ExcludeMatchedPattern": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-webhookfilter.html#cfn-codebuild-project-webhookfilter-excludematchedpattern",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Pattern": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-webhookfilter.html#cfn-codebuild-project-webhookfilter-pattern",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-webhookfilter.html#cfn-codebuild-project-webhookfilter-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::ReportGroup.ReportExportConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-reportexportconfig.html",
    "Properties": {
      "ExportConfigType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-reportexportconfig.html#cfn-codebuild-reportgroup-reportexportconfig-exportconfigtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3Destination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-reportexportconfig.html#cfn-codebuild-reportgroup-reportexportconfig-s3destination",
        "Required": false,
        "Type": "S3ReportExportConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::ReportGroup.S3ReportExportConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EncryptionDisabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-encryptiondisabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EncryptionKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-encryptionkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Packaging": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-packaging",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-reportgroup-s3reportexportconfig.html#cfn-codebuild-reportgroup-s3reportexportconfig-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeCommit::Repository.Code": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html",
    "Properties": {
      "S3": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html#cfn-codecommit-repository-code-s3",
        "Required": true,
        "Type": "S3",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeCommit::Repository.RepositoryTrigger": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html",
    "Properties": {
      "Branches": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-branches",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CustomData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-customdata",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DestinationArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-destinationarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Events": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-events",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeCommit::Repository.S3": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html#cfn-codecommit-repository-s3-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html#cfn-codecommit-repository-s3-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ObjectVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html#cfn-codecommit-repository-s3-objectversion",
        "PrimitiveType": "String",
        "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": true,
        "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": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.Alarm": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarm.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarm.html#cfn-codedeploy-deploymentgroup-alarm-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.AlarmConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html",
    "Properties": {
      "Alarms": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html#cfn-codedeploy-deploymentgroup-alarmconfiguration-alarms",
        "DuplicatesAllowed": false,
        "ItemType": "Alarm",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html#cfn-codedeploy-deploymentgroup-alarmconfiguration-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IgnorePollAlarmFailure": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-alarmconfiguration.html#cfn-codedeploy-deploymentgroup-alarmconfiguration-ignorepollalarmfailure",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.AutoRollbackConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-autorollbackconfiguration.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-autorollbackconfiguration.html#cfn-codedeploy-deploymentgroup-autorollbackconfiguration-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Events": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-autorollbackconfiguration.html#cfn-codedeploy-deploymentgroup-autorollbackconfiguration-events",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "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": "RevisionLocation",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.DeploymentStyle": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deploymentstyle.html",
    "Properties": {
      "DeploymentOption": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deploymentstyle.html#cfn-codedeploy-deploymentgroup-deploymentstyle-deploymentoption",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeploymentType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-deploymentstyle.html#cfn-codedeploy-deploymentgroup-deploymentstyle-deploymenttype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.EC2TagFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html#cfn-codedeploy-deploymentgroup-ec2tagfilter-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html#cfn-codedeploy-deploymentgroup-ec2tagfilter-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagfilter.html#cfn-codedeploy-deploymentgroup-ec2tagfilter-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.EC2TagSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagset.html",
    "Properties": {
      "Ec2TagSetList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagset.html#cfn-codedeploy-deploymentgroup-ec2tagset-ec2tagsetlist",
        "DuplicatesAllowed": false,
        "ItemType": "EC2TagSetListObject",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.EC2TagSetListObject": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagsetlistobject.html",
    "Properties": {
      "Ec2TagGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-ec2tagsetlistobject.html#cfn-codedeploy-deploymentgroup-ec2tagsetlistobject-ec2taggroup",
        "DuplicatesAllowed": false,
        "ItemType": "EC2TagFilter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.ELBInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-elbinfo.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-elbinfo.html#cfn-codedeploy-deploymentgroup-elbinfo-name",
        "PrimitiveType": "String",
        "Required": false,
        "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::CodeDeploy::DeploymentGroup.LoadBalancerInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-loadbalancerinfo.html",
    "Properties": {
      "ElbInfoList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-loadbalancerinfo.html#cfn-codedeploy-deploymentgroup-loadbalancerinfo-elbinfolist",
        "DuplicatesAllowed": false,
        "ItemType": "ELBInfo",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TargetGroupInfoList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-loadbalancerinfo.html#cfn-codedeploy-deploymentgroup-loadbalancerinfo-targetgroupinfolist",
        "DuplicatesAllowed": false,
        "ItemType": "TargetGroupInfo",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagset.html",
    "Properties": {
      "OnPremisesTagSetList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagset.html#cfn-codedeploy-deploymentgroup-onpremisestagset-onpremisestagsetlist",
        "DuplicatesAllowed": false,
        "ItemType": "OnPremisesTagSetListObject",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.OnPremisesTagSetListObject": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagsetlistobject.html",
    "Properties": {
      "OnPremisesTagGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-onpremisestagsetlistobject.html#cfn-codedeploy-deploymentgroup-onpremisestagsetlistobject-onpremisestaggroup",
        "DuplicatesAllowed": false,
        "ItemType": "TagFilter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.RevisionLocation": {
    "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::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": false,
        "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::CodeDeploy::DeploymentGroup.TagFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html#cfn-codedeploy-deploymentgroup-tagfilter-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html#cfn-codedeploy-deploymentgroup-tagfilter-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-tagfilter.html#cfn-codedeploy-deploymentgroup-tagfilter-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.TargetGroupInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-targetgroupinfo.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-targetgroupinfo.html#cfn-codedeploy-deploymentgroup-targetgroupinfo-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup.TriggerConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-triggerconfig.html",
    "Properties": {
      "TriggerEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-triggerconfig.html#cfn-codedeploy-deploymentgroup-triggerconfig-triggerevents",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TriggerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-triggerconfig.html#cfn-codedeploy-deploymentgroup-triggerconfig-triggername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TriggerTargetArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-triggerconfig.html#cfn-codedeploy-deploymentgroup-triggerconfig-triggertargetarn",
        "PrimitiveType": "String",
        "Required": false,
        "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::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::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::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"
      },
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-actiondeclaration-namespace",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "Region": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-region",
        "PrimitiveType": "String",
        "Required": false,
        "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::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::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::CodePipeline::Pipeline.ArtifactStoreMap": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstoremap.html",
    "Properties": {
      "ArtifactStore": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstoremap.html#cfn-codepipeline-pipeline-artifactstoremap-artifactstore",
        "Required": true,
        "Type": "ArtifactStore",
        "UpdateType": "Mutable"
      },
      "Region": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-artifactstoremap.html#cfn-codepipeline-pipeline-artifactstoremap-region",
        "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::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::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::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::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::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::CodePipeline::Webhook.WebhookAuthConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookauthconfiguration.html",
    "Properties": {
      "AllowedIPRange": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookauthconfiguration.html#cfn-codepipeline-webhook-webhookauthconfiguration-allowediprange",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecretToken": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookauthconfiguration.html#cfn-codepipeline-webhook-webhookauthconfiguration-secrettoken",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::Webhook.WebhookFilterRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookfilterrule.html",
    "Properties": {
      "JsonPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookfilterrule.html#cfn-codepipeline-webhook-webhookfilterrule-jsonpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MatchEquals": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-webhook-webhookfilterrule.html#cfn-codepipeline-webhook-webhookfilterrule-matchequals",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeStar::GitHubRepository.Code": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-code.html",
    "Properties": {
      "S3": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-code.html#cfn-codestar-githubrepository-code-s3",
        "Required": true,
        "Type": "S3",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeStar::GitHubRepository.S3": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-s3.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-s3.html#cfn-codestar-githubrepository-s3-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-s3.html#cfn-codestar-githubrepository-s3-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ObjectVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestar-githubrepository-s3.html#cfn-codestar-githubrepository-s3-objectversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeStarNotifications::NotificationRule.Target": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestarnotifications-notificationrule-target.html",
    "Properties": {
      "TargetAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestarnotifications-notificationrule-target.html#cfn-codestarnotifications-notificationrule-target-targetaddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codestarnotifications-notificationrule-target.html#cfn-codestarnotifications-notificationrule-target-targettype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::IdentityPool.CognitoIdentityProvider": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html",
    "Properties": {
      "ClientId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-clientid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ProviderName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-providername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ServerSideTokenCheck": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-serversidetokencheck",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::IdentityPool.CognitoStreams": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html",
    "Properties": {
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-streamname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StreamingStatus": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-streamingstatus",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::IdentityPool.PushSync": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html",
    "Properties": {
      "ApplicationArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html#cfn-cognito-identitypool-pushsync-applicationarns",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html#cfn-cognito-identitypool-pushsync-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::IdentityPoolRoleAttachment.MappingRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html",
    "Properties": {
      "Claim": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-claim",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MatchType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-matchtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html",
    "Properties": {
      "AmbiguousRoleResolution": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-ambiguousroleresolution",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IdentityProvider": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-identityprovider",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RulesConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-rulesconfiguration",
        "Required": false,
        "Type": "RulesConfigurationType",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rulesconfigurationtype.html",
    "Properties": {
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rulesconfigurationtype.html#cfn-cognito-identitypoolroleattachment-rulesconfigurationtype-rules",
        "ItemType": "MappingRule",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.AdminCreateUserConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html",
    "Properties": {
      "AllowAdminCreateUserOnly": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-allowadmincreateuseronly",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InviteMessageTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-invitemessagetemplate",
        "Required": false,
        "Type": "InviteMessageTemplate",
        "UpdateType": "Mutable"
      },
      "UnusedAccountValidityDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-unusedaccountvaliditydays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.DeviceConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html",
    "Properties": {
      "ChallengeRequiredOnNewDevice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html#cfn-cognito-userpool-deviceconfiguration-challengerequiredonnewdevice",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeviceOnlyRememberedOnUserPrompt": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html#cfn-cognito-userpool-deviceconfiguration-deviceonlyrememberedonuserprompt",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.EmailConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html",
    "Properties": {
      "ConfigurationSet": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-configurationset",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EmailSendingAccount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-emailsendingaccount",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "From": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-from",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReplyToEmailAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-replytoemailaddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SourceArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-sourcearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.InviteMessageTemplate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html",
    "Properties": {
      "EmailMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-emailmessage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EmailSubject": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-emailsubject",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SMSMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-smsmessage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.LambdaConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html",
    "Properties": {
      "CreateAuthChallenge": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-createauthchallenge",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CustomMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-custommessage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefineAuthChallenge": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-defineauthchallenge",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PostAuthentication": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-postauthentication",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PostConfirmation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-postconfirmation",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreAuthentication": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-preauthentication",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreSignUp": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-presignup",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreTokenGeneration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-pretokengeneration",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserMigration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-usermigration",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VerifyAuthChallengeResponse": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-verifyauthchallengeresponse",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.NumberAttributeConstraints": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html",
    "Properties": {
      "MaxValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html#cfn-cognito-userpool-numberattributeconstraints-maxvalue",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html#cfn-cognito-userpool-numberattributeconstraints-minvalue",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.PasswordPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html",
    "Properties": {
      "MinimumLength": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-minimumlength",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequireLowercase": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requirelowercase",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequireNumbers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requirenumbers",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequireSymbols": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requiresymbols",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequireUppercase": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requireuppercase",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TemporaryPasswordValidityDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-temporarypasswordvaliditydays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.Policies": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html",
    "Properties": {
      "PasswordPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html#cfn-cognito-userpool-policies-passwordpolicy",
        "Required": false,
        "Type": "PasswordPolicy",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.SchemaAttribute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html",
    "Properties": {
      "AttributeDataType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-attributedatatype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeveloperOnlyAttribute": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-developeronlyattribute",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Mutable": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-mutable",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NumberAttributeConstraints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-numberattributeconstraints",
        "Required": false,
        "Type": "NumberAttributeConstraints",
        "UpdateType": "Mutable"
      },
      "Required": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-required",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StringAttributeConstraints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-stringattributeconstraints",
        "Required": false,
        "Type": "StringAttributeConstraints",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.SmsConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html",
    "Properties": {
      "ExternalId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-externalid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnsCallerArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-snscallerarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.StringAttributeConstraints": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html",
    "Properties": {
      "MaxLength": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html#cfn-cognito-userpool-stringattributeconstraints-maxlength",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinLength": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html#cfn-cognito-userpool-stringattributeconstraints-minlength",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.UserPoolAddOns": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html",
    "Properties": {
      "AdvancedSecurityMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html#cfn-cognito-userpool-userpooladdons-advancedsecuritymode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool.VerificationMessageTemplate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html",
    "Properties": {
      "DefaultEmailOption": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-defaultemailoption",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EmailMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailmessage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EmailMessageByLink": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailmessagebylink",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EmailSubject": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailsubject",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EmailSubjectByLink": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailsubjectbylink",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SmsMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-smsmessage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolClient.AnalyticsConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html",
    "Properties": {
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-applicationid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExternalId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-externalid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserDataShared": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-userdatashared",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolDomain.CustomDomainConfigType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooldomain-customdomainconfigtype.html",
    "Properties": {
      "CertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooldomain-customdomainconfigtype.html#cfn-cognito-userpooldomain-customdomainconfigtype-certificatearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html",
    "Properties": {
      "ScopeDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html#cfn-cognito-userpoolresourceserver-resourceserverscopetype-scopedescription",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ScopeName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html#cfn-cognito-userpoolresourceserver-resourceserverscopetype-scopename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html",
    "Properties": {
      "EventAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype-eventaction",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Notify": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype-notify",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html",
    "Properties": {
      "HighAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-highaction",
        "Required": false,
        "Type": "AccountTakeoverActionType",
        "UpdateType": "Mutable"
      },
      "LowAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-lowaction",
        "Required": false,
        "Type": "AccountTakeoverActionType",
        "UpdateType": "Mutable"
      },
      "MediumAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-mediumaction",
        "Required": false,
        "Type": "AccountTakeoverActionType",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html",
    "Properties": {
      "Actions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype-actions",
        "Required": true,
        "Type": "AccountTakeoverActionsType",
        "UpdateType": "Mutable"
      },
      "NotifyConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype-notifyconfiguration",
        "Required": false,
        "Type": "NotifyConfigurationType",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype.html",
    "Properties": {
      "EventAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype-eventaction",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html",
    "Properties": {
      "Actions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype-actions",
        "Required": true,
        "Type": "CompromisedCredentialsActionsType",
        "UpdateType": "Mutable"
      },
      "EventFilter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype-eventfilter",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html",
    "Properties": {
      "BlockEmail": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-blockemail",
        "Required": false,
        "Type": "NotifyEmailType",
        "UpdateType": "Mutable"
      },
      "From": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-from",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MfaEmail": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-mfaemail",
        "Required": false,
        "Type": "NotifyEmailType",
        "UpdateType": "Mutable"
      },
      "NoActionEmail": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-noactionemail",
        "Required": false,
        "Type": "NotifyEmailType",
        "UpdateType": "Mutable"
      },
      "ReplyTo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-replyto",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SourceArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-sourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html",
    "Properties": {
      "HtmlBody": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-htmlbody",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Subject": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-subject",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TextBody": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-textbody",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html",
    "Properties": {
      "BlockedIPRangeList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype-blockediprangelist",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SkippedIPRangeList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype-skippediprangelist",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolUser.AttributeType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html#cfn-cognito-userpooluser-attributetype-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html#cfn-cognito-userpooluser-attributetype-value",
        "PrimitiveType": "String",
        "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::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::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"
      },
      "MaximumExecutionFrequency": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configrule-source-sourcedetails.html#cfn-config-configrule-sourcedetail-maximumexecutionfrequency",
        "PrimitiveType": "String",
        "Required": false,
        "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::Config::ConfigurationAggregator.AccountAggregationSource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-accountaggregationsource.html",
    "Properties": {
      "AccountIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-accountaggregationsource.html#cfn-config-configurationaggregator-accountaggregationsource-accountids",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AllAwsRegions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-accountaggregationsource.html#cfn-config-configurationaggregator-accountaggregationsource-allawsregions",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AwsRegions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-accountaggregationsource.html#cfn-config-configurationaggregator-accountaggregationsource-awsregions",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::ConfigurationAggregator.OrganizationAggregationSource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-organizationaggregationsource.html",
    "Properties": {
      "AllAwsRegions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-organizationaggregationsource.html#cfn-config-configurationaggregator-organizationaggregationsource-allawsregions",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AwsRegions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-organizationaggregationsource.html#cfn-config-configurationaggregator-organizationaggregationsource-awsregions",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-configurationaggregator-organizationaggregationsource.html#cfn-config-configurationaggregator-organizationaggregationsource-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "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": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "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::Config::OrganizationConfigRule.OrganizationCustomRuleMetadata": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InputParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-inputparameters",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LambdaFunctionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-lambdafunctionarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MaximumExecutionFrequency": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-maximumexecutionfrequency",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OrganizationConfigRuleTriggerTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-organizationconfigruletriggertypes",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ResourceIdScope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-resourceidscope",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourceTypesScope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-resourcetypesscope",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TagKeyScope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-tagkeyscope",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TagValueScope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationcustomrulemetadata.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata-tagvaluescope",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::OrganizationConfigRule.OrganizationManagedRuleMetadata": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InputParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-inputparameters",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaximumExecutionFrequency": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-maximumexecutionfrequency",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourceIdScope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-resourceidscope",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourceTypesScope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-resourcetypesscope",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RuleIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-ruleidentifier",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TagKeyScope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-tagkeyscope",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TagValueScope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-organizationconfigrule-organizationmanagedrulemetadata.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata-tagvaluescope",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::RemediationConfiguration.ExecutionControls": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-executioncontrols.html",
    "Properties": {
      "SsmControls": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-executioncontrols.html#cfn-config-remediationconfiguration-executioncontrols-ssmcontrols",
        "Required": false,
        "Type": "SsmControls",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::RemediationConfiguration.RemediationParameterValue": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-remediationparametervalue.html",
    "Properties": {
      "ResourceValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-remediationparametervalue.html#cfn-config-remediationconfiguration-remediationparametervalue-resourcevalue",
        "Required": false,
        "Type": "ResourceValue",
        "UpdateType": "Mutable"
      },
      "StaticValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-remediationparametervalue.html#cfn-config-remediationconfiguration-remediationparametervalue-staticvalue",
        "Required": false,
        "Type": "StaticValue",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::RemediationConfiguration.ResourceValue": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-resourcevalue.html",
    "Properties": {
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-resourcevalue.html#cfn-config-remediationconfiguration-resourcevalue-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::RemediationConfiguration.SsmControls": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-ssmcontrols.html",
    "Properties": {
      "ConcurrentExecutionRatePercentage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-ssmcontrols.html#cfn-config-remediationconfiguration-ssmcontrols-concurrentexecutionratepercentage",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ErrorPercentage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-ssmcontrols.html#cfn-config-remediationconfiguration-ssmcontrols-errorpercentage",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::RemediationConfiguration.StaticValue": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-staticvalue.html",
    "Properties": {
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-config-remediationconfiguration-staticvalue.html#cfn-config-remediationconfiguration-staticvalue-values",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DAX::Cluster.SSESpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dax-cluster-ssespecification.html",
    "Properties": {
      "SSEEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dax-cluster-ssespecification.html#cfn-dax-cluster-ssespecification-sseenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DLM::LifecyclePolicy.CreateRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html",
    "Properties": {
      "Interval": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-interval",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IntervalUnit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-intervalunit",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Times": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-times",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html",
    "Properties": {
      "Interval": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyretainrule-interval",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IntervalUnit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyretainrule-intervalunit",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DLM::LifecyclePolicy.CrossRegionCopyRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html",
    "Properties": {
      "CmkArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-cmkarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CopyTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-copytags",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Encrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-encrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RetainRule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-retainrule",
        "Required": false,
        "Type": "CrossRegionCopyRetainRule",
        "UpdateType": "Mutable"
      },
      "TargetRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-targetregion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DLM::LifecyclePolicy.FastRestoreRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html",
    "Properties": {
      "AvailabilityZones": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-availabilityzones",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Count": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-count",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Interval": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-interval",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IntervalUnit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-intervalunit",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DLM::LifecyclePolicy.Parameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html",
    "Properties": {
      "ExcludeBootVolume": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html#cfn-dlm-lifecyclepolicy-parameters-excludebootvolume",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DLM::LifecyclePolicy.PolicyDetails": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html",
    "Properties": {
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-parameters",
        "Required": false,
        "Type": "Parameters",
        "UpdateType": "Mutable"
      },
      "PolicyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-policytype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourceTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-resourcetypes",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Schedules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-schedules",
        "ItemType": "Schedule",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TargetTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-targettags",
        "ItemType": "Tag",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DLM::LifecyclePolicy.RetainRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html",
    "Properties": {
      "Count": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-count",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Interval": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-interval",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IntervalUnit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-intervalunit",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DLM::LifecyclePolicy.Schedule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html",
    "Properties": {
      "CopyTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-copytags",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CreateRule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-createrule",
        "Required": false,
        "Type": "CreateRule",
        "UpdateType": "Mutable"
      },
      "CrossRegionCopyRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-crossregioncopyrules",
        "ItemType": "CrossRegionCopyRule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "FastRestoreRule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-fastrestorerule",
        "Required": false,
        "Type": "FastRestoreRule",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RetainRule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-retainrule",
        "Required": false,
        "Type": "RetainRule",
        "UpdateType": "Mutable"
      },
      "TagsToAdd": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-tagstoadd",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VariableTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-variabletags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DMS::Endpoint.DynamoDbSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-dynamodbsettings.html",
    "Properties": {
      "ServiceAccessRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-dynamodbsettings.html#cfn-dms-endpoint-dynamodbsettings-serviceaccessrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DMS::Endpoint.ElasticsearchSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-elasticsearchsettings.html",
    "Properties": {
      "EndpointUri": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-elasticsearchsettings.html#cfn-dms-endpoint-elasticsearchsettings-endpointuri",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ErrorRetryDuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-elasticsearchsettings.html#cfn-dms-endpoint-elasticsearchsettings-errorretryduration",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FullLoadErrorPercentage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-elasticsearchsettings.html#cfn-dms-endpoint-elasticsearchsettings-fullloaderrorpercentage",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ServiceAccessRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-elasticsearchsettings.html#cfn-dms-endpoint-elasticsearchsettings-serviceaccessrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DMS::Endpoint.KinesisSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kinesissettings.html",
    "Properties": {
      "MessageFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kinesissettings.html#cfn-dms-endpoint-kinesissettings-messageformat",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ServiceAccessRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kinesissettings.html#cfn-dms-endpoint-kinesissettings-serviceaccessrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StreamArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-kinesissettings.html#cfn-dms-endpoint-kinesissettings-streamarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DMS::Endpoint.MongoDbSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html",
    "Properties": {
      "AuthMechanism": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-authmechanism",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AuthSource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-authsource",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AuthType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-authtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-databasename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DocsToInvestigate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-docstoinvestigate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExtractDocId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-extractdocid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NestingLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-nestinglevel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-password",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ServerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-servername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html#cfn-dms-endpoint-mongodbsettings-username",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DMS::Endpoint.S3Settings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html",
    "Properties": {
      "BucketFolder": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-bucketfolder",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "BucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-bucketname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CompressionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-compressiontype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CsvDelimiter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-csvdelimiter",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CsvRowDelimiter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-csvrowdelimiter",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExternalTableDefinition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-externaltabledefinition",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ServiceAccessRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-s3settings.html#cfn-dms-endpoint-s3settings-serviceaccessrolearn",
        "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::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::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-parameterobjects-id",
        "PrimitiveType": "String",
        "Required": true,
        "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::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::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::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::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::DynamoDB::Table.AttributeDefinition": {
    "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::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": false,
        "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": false,
        "Type": "ProvisionedThroughput",
        "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::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": false,
        "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::DynamoDB::Table.PointInTimeRecoverySpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html",
    "Properties": {
      "PointInTimeRecoveryEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html#cfn-dynamodb-table-pointintimerecoveryspecification-pointintimerecoveryenabled",
        "PrimitiveType": "Boolean",
        "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::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": "Long",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "WriteCapacityUnits": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-provisionedthroughput.html#cfn-dynamodb-provisionedthroughput-writecapacityunits",
        "PrimitiveType": "Long",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DynamoDB::Table.SSESpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html",
    "Properties": {
      "KMSMasterKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-kmsmasterkeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SSEEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-sseenabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SSEType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html#cfn-dynamodb-table-ssespecification-ssetype",
        "PrimitiveType": "String",
        "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::DynamoDB::Table.TimeToLiveSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-timetolivespecification.html",
    "Properties": {
      "AttributeName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-timetolivespecification.html#cfn-dynamodb-timetolivespecification-attributename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-timetolivespecification.html#cfn-dynamodb-timetolivespecification-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::CapacityReservation.TagSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-tagspecification.html",
    "Properties": {
      "ResourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-tagspecification.html#cfn-ec2-capacityreservation-tagspecification-resourcetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-tagspecification.html#cfn-ec2-capacityreservation-tagspecification-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-certificateauthenticationrequest.html",
    "Properties": {
      "ClientRootCertificateChainArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-certificateauthenticationrequest.html#cfn-ec2-clientvpnendpoint-certificateauthenticationrequest-clientrootcertificatechainarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html",
    "Properties": {
      "ActiveDirectory": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-activedirectory",
        "Required": false,
        "Type": "DirectoryServiceAuthenticationRequest",
        "UpdateType": "Mutable"
      },
      "MutualAuthentication": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-mutualauthentication",
        "Required": false,
        "Type": "CertificateAuthenticationRequest",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html",
    "Properties": {
      "CloudwatchLogGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html#cfn-ec2-clientvpnendpoint-connectionlogoptions-cloudwatchloggroup",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CloudwatchLogStream": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html#cfn-ec2-clientvpnendpoint-connectionlogoptions-cloudwatchlogstream",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html#cfn-ec2-clientvpnendpoint-connectionlogoptions-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-directoryserviceauthenticationrequest.html",
    "Properties": {
      "DirectoryId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-directoryserviceauthenticationrequest.html#cfn-ec2-clientvpnendpoint-directoryserviceauthenticationrequest-directoryid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::ClientVpnEndpoint.TagSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-tagspecification.html",
    "Properties": {
      "ResourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-tagspecification.html#cfn-ec2-clientvpnendpoint-tagspecification-resourcetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-tagspecification.html#cfn-ec2-clientvpnendpoint-tagspecification-tags",
        "ItemType": "Tag",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html",
    "Properties": {
      "LaunchTemplateSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateconfigrequest-launchtemplatespecification",
        "Required": false,
        "Type": "FleetLaunchTemplateSpecificationRequest",
        "UpdateType": "Mutable"
      },
      "Overrides": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateconfigrequest-overrides",
        "ItemType": "FleetLaunchTemplateOverridesRequest",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html",
    "Properties": {
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-instancetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-maxprice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Priority": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-priority",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "WeightedCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-weightedcapacity",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html",
    "Properties": {
      "LaunchTemplateId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-launchtemplateid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LaunchTemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-launchtemplatename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::EC2Fleet.OnDemandOptionsRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html",
    "Properties": {
      "AllocationStrategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-allocationstrategy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::EC2Fleet.SpotOptionsRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html",
    "Properties": {
      "AllocationStrategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-allocationstrategy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceInterruptionBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-instanceinterruptionbehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstancePoolsToUseCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-instancepoolstousecount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::EC2Fleet.TagRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagrequest.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagrequest.html#cfn-ec2-ec2fleet-tagrequest-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagrequest.html#cfn-ec2-ec2fleet-tagrequest-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::EC2Fleet.TagSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html",
    "Properties": {
      "ResourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html#cfn-ec2-ec2fleet-tagspecification-resourcetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html#cfn-ec2-ec2fleet-tagspecification-tags",
        "ItemType": "TagRequest",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html",
    "Properties": {
      "DefaultTargetCapacityType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-defaulttargetcapacitytype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OnDemandTargetCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-ondemandtargetcapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SpotTargetCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-spottargetcapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TotalTargetCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-totaltargetcapacity",
        "PrimitiveType": "Integer",
        "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::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::EC2::Instance.CpuOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html",
    "Properties": {
      "CoreCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html#cfn-ec2-instance-cpuoptions-corecount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThreadsPerCore": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html#cfn-ec2-instance-cpuoptions-threadspercore",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.CreditSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-creditspecification.html",
    "Properties": {
      "CPUCredits": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-creditspecification.html#cfn-ec2-instance-creditspecification-cpucredits",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html#cfn-ec2-instance-ebs-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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::Instance.ElasticGpuSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticgpuspecification.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticgpuspecification.html#cfn-ec2-instance-elasticgpuspecification-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.ElasticInferenceAccelerator": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticinferenceaccelerator.html",
    "Properties": {
      "Count": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticinferenceaccelerator.html#cfn-ec2-instance-elasticinferenceaccelerator-count",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticinferenceaccelerator.html#cfn-ec2-instance-elasticinferenceaccelerator-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.InstanceIpv6Address": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-instanceipv6address.html",
    "Properties": {
      "Ipv6Address": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-instanceipv6address.html#cfn-ec2-instance-instanceipv6address-ipv6address",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.LaunchTemplateSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html",
    "Properties": {
      "LaunchTemplateId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html#cfn-ec2-instance-launchtemplatespecification-launchtemplateid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LaunchTemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html#cfn-ec2-instance-launchtemplatespecification-launchtemplatename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html#cfn-ec2-instance-launchtemplatespecification-version",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::Instance.LicenseSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-licensespecification.html",
    "Properties": {
      "LicenseConfigurationArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-licensespecification.html#cfn-ec2-instance-licensespecification-licenseconfigurationarn",
        "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"
      },
      "Ipv6AddressCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#cfn-ec2-instance-networkinterface-ipv6addresscount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Ipv6Addresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html#cfn-ec2-instance-networkinterface-ipv6addresses",
        "DuplicatesAllowed": true,
        "ItemType": "InstanceIpv6Address",
        "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::EC2::Instance.NoDevice": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-nodevice.html",
    "Properties": {}
  },
  "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::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::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::EC2::LaunchTemplate.BlockDeviceMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html",
    "Properties": {
      "DeviceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-devicename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Ebs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs",
        "Required": false,
        "Type": "Ebs",
        "UpdateType": "Mutable"
      },
      "NoDevice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-nodevice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VirtualName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-virtualname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.CapacityReservationPreference": {
    "PrimitiveType": "String"
  },
  "AWS::EC2::LaunchTemplate.CapacityReservationSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification.html",
    "Properties": {
      "CapacityReservationPreference": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification.html#cfn-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification-capacityreservationpreference",
        "Required": false,
        "Type": "CapacityReservationPreference",
        "UpdateType": "Mutable"
      },
      "CapacityReservationTarget": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification.html#cfn-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification-capacityreservationtarget",
        "Required": false,
        "Type": "CapacityReservationTarget",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.CapacityReservationTarget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationtarget.html",
    "Properties": {
      "CapacityReservationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationtarget.html#cfn-ec2-launchtemplate-capacityreservationtarget-capacityreservationid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.CpuOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-cpuoptions.html",
    "Properties": {
      "CoreCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-cpuoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-cpuoptions-corecount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThreadsPerCore": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-cpuoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-cpuoptions-threadspercore",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.CreditSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-creditspecification.html",
    "Properties": {
      "CpuCredits": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-creditspecification.html#cfn-ec2-launchtemplate-launchtemplatedata-creditspecification-cpucredits",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.Ebs": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html",
    "Properties": {
      "DeleteOnTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-deleteontermination",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Encrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-encrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-snapshotid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-volumesize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping-ebs.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs-volumetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.ElasticGpuSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-elasticgpuspecification.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-elasticgpuspecification.html#cfn-ec2-launchtemplate-elasticgpuspecification-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.HibernationOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-hibernationoptions.html",
    "Properties": {
      "Configured": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-hibernationoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-hibernationoptions-configured",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.IamInstanceProfile": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile.html",
    "Properties": {
      "Arn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile.html#cfn-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile-arn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile.html#cfn-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.InstanceMarketOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html",
    "Properties": {
      "MarketType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-markettype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SpotOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions",
        "Required": false,
        "Type": "SpotOptions",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.Ipv6Add": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6add.html",
    "Properties": {
      "Ipv6Address": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6add.html#cfn-ec2-launchtemplate-ipv6add-ipv6address",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.LaunchTemplateData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html",
    "Properties": {
      "BlockDeviceMappings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-blockdevicemappings",
        "ItemType": "BlockDeviceMapping",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CapacityReservationSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification",
        "Required": false,
        "Type": "CapacityReservationSpecification",
        "UpdateType": "Mutable"
      },
      "CpuOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-cpuoptions",
        "Required": false,
        "Type": "CpuOptions",
        "UpdateType": "Mutable"
      },
      "CreditSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-creditspecification",
        "Required": false,
        "Type": "CreditSpecification",
        "UpdateType": "Mutable"
      },
      "DisableApiTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-disableapitermination",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EbsOptimized": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-ebsoptimized",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ElasticGpuSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-elasticgpuspecifications",
        "ItemType": "ElasticGpuSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ElasticInferenceAccelerators": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-elasticinferenceaccelerators",
        "ItemType": "LaunchTemplateElasticInferenceAccelerator",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "HibernationOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-hibernationoptions",
        "Required": false,
        "Type": "HibernationOptions",
        "UpdateType": "Mutable"
      },
      "IamInstanceProfile": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile",
        "Required": false,
        "Type": "IamInstanceProfile",
        "UpdateType": "Mutable"
      },
      "ImageId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-imageid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceInitiatedShutdownBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instanceinitiatedshutdownbehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceMarketOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions",
        "Required": false,
        "Type": "InstanceMarketOptions",
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instancetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KernelId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-kernelid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KeyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-keyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LicenseSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-licensespecifications",
        "ItemType": "LicenseSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Monitoring": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-monitoring",
        "Required": false,
        "Type": "Monitoring",
        "UpdateType": "Mutable"
      },
      "NetworkInterfaces": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-networkinterfaces",
        "ItemType": "NetworkInterface",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Placement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-placement",
        "Required": false,
        "Type": "Placement",
        "UpdateType": "Mutable"
      },
      "RamDiskId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-ramdiskid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-securitygroups",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TagSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications",
        "ItemType": "TagSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "UserData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-userdata",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.LaunchTemplateElasticInferenceAccelerator": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator.html#cfn-ec2-launchtemplate-launchtemplateelasticinferenceaccelerator-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.LicenseSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-licensespecification.html",
    "Properties": {
      "LicenseConfigurationArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-licensespecification.html#cfn-ec2-launchtemplate-licensespecification-licenseconfigurationarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.Monitoring": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-monitoring.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-monitoring.html#cfn-ec2-launchtemplate-launchtemplatedata-monitoring-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.NetworkInterface": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html",
    "Properties": {
      "AssociatePublicIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-associatepublicipaddress",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeleteOnTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deleteontermination",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeviceIndex": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deviceindex",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Groups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-groups",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "InterfaceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-interfacetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Ipv6AddressCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresscount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Ipv6Addresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresses",
        "ItemType": "Ipv6Add",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "NetworkInterfaceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-networkinterfaceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateIpAddresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddresses",
        "ItemType": "PrivateIpAdd",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SecondaryPrivateIpAddressCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-secondaryprivateipaddresscount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.Placement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html",
    "Properties": {
      "Affinity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-affinity",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-groupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HostId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-hostid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tenancy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-placement.html#cfn-ec2-launchtemplate-launchtemplatedata-placement-tenancy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.PrivateIpAdd": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html",
    "Properties": {
      "Primary": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html#cfn-ec2-launchtemplate-privateipadd-primary",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html#cfn-ec2-launchtemplate-privateipadd-privateipaddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.SpotOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html",
    "Properties": {
      "BlockDurationMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions-blockdurationminutes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceInterruptionBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions-instanceinterruptionbehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions-maxprice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SpotInstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions-spotinstancetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ValidUntil": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions-validuntil",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate.TagSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html",
    "Properties": {
      "ResourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html#cfn-ec2-launchtemplate-tagspecification-resourcetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html#cfn-ec2-launchtemplate-tagspecification-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "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::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::EC2::NetworkInterface.InstanceIpv6Address": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-instanceipv6address.html",
    "Properties": {
      "Ipv6Address": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-instanceipv6address.html#cfn-ec2-networkinterface-instanceipv6address-ipv6address",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "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::EC2::SecurityGroup.Egress": {
    "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"
      },
      "CidrIpv6": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidripv6",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DestinationPrefixListId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-destinationprefixlistid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DestinationSecurityGroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-destsecgroupid",
        "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"
      },
      "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::EC2::SecurityGroup.Ingress": {
    "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"
      },
      "CidrIpv6": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidripv6",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-description",
        "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"
      },
      "SourcePrefixListId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-securitygroup-ingress-sourceprefixlistid",
        "PrimitiveType": "String",
        "Required": false,
        "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::EC2::SpotFleet.BlockDeviceMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings.html",
    "Properties": {
      "DeviceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings.html#cfn-ec2-spotfleet-blockdevicemapping-devicename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Ebs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings.html#cfn-ec2-spotfleet-blockdevicemapping-ebs",
        "Required": false,
        "Type": "EbsBlockDevice",
        "UpdateType": "Mutable"
      },
      "NoDevice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings.html#cfn-ec2-spotfleet-blockdevicemapping-nodevice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VirtualName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings.html#cfn-ec2-spotfleet-blockdevicemapping-virtualname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.ClassicLoadBalancer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancer.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancer.html#cfn-ec2-spotfleet-classicloadbalancer-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancersconfig.html",
    "Properties": {
      "ClassicLoadBalancers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancersconfig.html#cfn-ec2-spotfleet-classicloadbalancersconfig-classicloadbalancers",
        "DuplicatesAllowed": false,
        "ItemType": "ClassicLoadBalancer",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.EbsBlockDevice": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings-ebs.html",
    "Properties": {
      "DeleteOnTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings-ebs.html#cfn-ec2-spotfleet-ebsblockdevice-deleteontermination",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Encrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings-ebs.html#cfn-ec2-spotfleet-ebsblockdevice-encrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings-ebs.html#cfn-ec2-spotfleet-ebsblockdevice-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings-ebs.html#cfn-ec2-spotfleet-ebsblockdevice-snapshotid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings-ebs.html#cfn-ec2-spotfleet-ebsblockdevice-volumesize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-blockdevicemappings-ebs.html#cfn-ec2-spotfleet-ebsblockdevice-volumetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html",
    "Properties": {
      "LaunchTemplateId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-launchtemplateid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LaunchTemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-launchtemplatename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-version",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.GroupIdentifier": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-securitygroups.html",
    "Properties": {
      "GroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-securitygroups.html#cfn-ec2-spotfleet-groupidentifier-groupid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.IamInstanceProfileSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-iaminstanceprofile.html",
    "Properties": {
      "Arn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-iaminstanceprofile.html#cfn-ec2-spotfleet-iaminstanceprofilespecification-arn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.InstanceIpv6Address": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instanceipv6address.html",
    "Properties": {
      "Ipv6Address": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instanceipv6address.html#cfn-ec2-spotfleet-instanceipv6address-ipv6address",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html",
    "Properties": {
      "AssociatePublicIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-associatepublicipaddress",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeleteOnTermination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-deleteontermination",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeviceIndex": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-deviceindex",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Groups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-groups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Ipv6AddressCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-ipv6addresscount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Ipv6Addresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-ipv6addresses",
        "DuplicatesAllowed": false,
        "ItemType": "InstanceIpv6Address",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "NetworkInterfaceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-networkinterfaceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateIpAddresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-privateipaddresses",
        "DuplicatesAllowed": false,
        "ItemType": "PrivateIpAddressSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SecondaryPrivateIpAddressCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-secondaryprivateipaddresscount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.LaunchTemplateConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html",
    "Properties": {
      "LaunchTemplateSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html#cfn-ec2-spotfleet-launchtemplateconfig-launchtemplatespecification",
        "Required": false,
        "Type": "FleetLaunchTemplateSpecification",
        "UpdateType": "Mutable"
      },
      "Overrides": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html#cfn-ec2-spotfleet-launchtemplateconfig-overrides",
        "DuplicatesAllowed": false,
        "ItemType": "LaunchTemplateOverrides",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.LaunchTemplateOverrides": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html",
    "Properties": {
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-instancetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SpotPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-spotprice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "WeightedCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-weightedcapacity",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.LoadBalancersConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html",
    "Properties": {
      "ClassicLoadBalancersConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html#cfn-ec2-spotfleet-loadbalancersconfig-classicloadbalancersconfig",
        "Required": false,
        "Type": "ClassicLoadBalancersConfig",
        "UpdateType": "Mutable"
      },
      "TargetGroupsConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html#cfn-ec2-spotfleet-loadbalancersconfig-targetgroupsconfig",
        "Required": false,
        "Type": "TargetGroupsConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.PrivateIpAddressSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces-privateipaddresses.html",
    "Properties": {
      "Primary": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces-privateipaddresses.html#cfn-ec2-spotfleet-privateipaddressspecification-primary",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-networkinterfaces-privateipaddresses.html#cfn-ec2-spotfleet-privateipaddressspecification-privateipaddress",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html",
    "Properties": {
      "BlockDeviceMappings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-blockdevicemappings",
        "DuplicatesAllowed": false,
        "ItemType": "BlockDeviceMapping",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EbsOptimized": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-ebsoptimized",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IamInstanceProfile": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-iaminstanceprofile",
        "Required": false,
        "Type": "IamInstanceProfileSpecification",
        "UpdateType": "Mutable"
      },
      "ImageId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-imageid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "KernelId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-kernelid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KeyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-keyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Monitoring": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-monitoring",
        "Required": false,
        "Type": "SpotFleetMonitoring",
        "UpdateType": "Mutable"
      },
      "NetworkInterfaces": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-networkinterfaces",
        "DuplicatesAllowed": false,
        "ItemType": "InstanceNetworkInterfaceSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Placement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-placement",
        "Required": false,
        "Type": "SpotPlacement",
        "UpdateType": "Mutable"
      },
      "RamdiskId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-ramdiskid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-securitygroups",
        "DuplicatesAllowed": false,
        "ItemType": "GroupIdentifier",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SpotPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-spotprice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TagSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-tagspecifications",
        "DuplicatesAllowed": false,
        "ItemType": "SpotFleetTagSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "UserData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-userdata",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "WeightedCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-weightedcapacity",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.SpotFleetMonitoring": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-monitoring.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-monitoring.html#cfn-ec2-spotfleet-spotfleetmonitoring-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "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": "Immutable"
      },
      "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": "Immutable"
      },
      "InstanceInterruptionBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-instanceinterruptionbehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LaunchSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications",
        "DuplicatesAllowed": false,
        "ItemType": "SpotFleetLaunchSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "LaunchTemplateConfigs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-launchtemplateconfigs",
        "DuplicatesAllowed": false,
        "ItemType": "LaunchTemplateConfig",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "LoadBalancersConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-loadbalancersconfig",
        "Required": false,
        "Type": "LoadBalancersConfig",
        "UpdateType": "Immutable"
      },
      "ReplaceUnhealthyInstances": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-replaceunhealthyinstances",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SpotPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-spotprice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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": "Immutable"
      },
      "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": "Immutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.SpotFleetTagSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-tagspecifications.html",
    "Properties": {
      "ResourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-tagspecifications.html#cfn-ec2-spotfleet-spotfleettagspecification-resourcetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-tagspecifications.html#cfn-ec2-spotfleet-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.SpotPlacement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-placement.html",
    "Properties": {
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-placement.html#cfn-ec2-spotfleet-spotplacement-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-placement.html#cfn-ec2-spotfleet-spotplacement-groupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tenancy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications-placement.html#cfn-ec2-spotfleet-spotplacement-tenancy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.TargetGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroup.html",
    "Properties": {
      "Arn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroup.html#cfn-ec2-spotfleet-targetgroup-arn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::SpotFleet.TargetGroupsConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroupsconfig.html",
    "Properties": {
      "TargetGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroupsconfig.html#cfn-ec2-spotfleet-targetgroupsconfig-targetgroups",
        "DuplicatesAllowed": false,
        "ItemType": "TargetGroup",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrange.html",
    "Properties": {
      "FromPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrange.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorportrange-fromport",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ToPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrange.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorportrange-toport",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html",
    "Properties": {
      "PreSharedKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-presharedkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TunnelInsideCidr": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-tunnelinsidecidr",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECR::Repository.LifecyclePolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html",
    "Properties": {
      "LifecyclePolicyText": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html#cfn-ecr-repository-lifecyclepolicy-lifecyclepolicytext",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RegistryId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repository-lifecyclepolicy.html#cfn-ecr-repository-lifecyclepolicy-registryid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::Cluster.ClusterSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersetting.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersetting.html#cfn-ecs-cluster-clustersetting-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersetting.html#cfn-ecs-cluster-clustersetting-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::Service.AwsVpcConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html",
    "Properties": {
      "AssignPublicIp": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html#cfn-ecs-service-awsvpcconfiguration-assignpublicip",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html#cfn-ecs-service-awsvpcconfiguration-securitygroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Subnets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html#cfn-ecs-service-awsvpcconfiguration-subnets",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "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::ECS::Service.DeploymentController": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcontroller.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcontroller.html#cfn-ecs-service-deploymentcontroller-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::ECS::Service.NetworkConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-networkconfiguration.html",
    "Properties": {
      "AwsvpcConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-networkconfiguration.html#cfn-ecs-service-networkconfiguration-awsvpcconfiguration",
        "Required": false,
        "Type": "AwsVpcConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::Service.PlacementConstraint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementconstraint.html",
    "Properties": {
      "Expression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementconstraint.html#cfn-ecs-service-placementconstraint-expression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementconstraint.html#cfn-ecs-service-placementconstraint-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::Service.PlacementStrategy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementstrategy.html",
    "Properties": {
      "Field": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementstrategy.html#cfn-ecs-service-placementstrategy-field",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-placementstrategy.html#cfn-ecs-service-placementstrategy-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::Service.ServiceRegistry": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html",
    "Properties": {
      "ContainerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html#cfn-ecs-service-serviceregistry-containername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ContainerPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html#cfn-ecs-service-serviceregistry-containerport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html#cfn-ecs-service-serviceregistry-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RegistryArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceregistry.html#cfn-ecs-service-serviceregistry-registryarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "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"
      },
      "DependsOn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-dependson",
        "DuplicatesAllowed": false,
        "ItemType": "ContainerDependency",
        "Required": false,
        "Type": "List",
        "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"
      },
      "FirelensConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-firelensconfiguration",
        "Required": false,
        "Type": "FirelensConfiguration",
        "UpdateType": "Immutable"
      },
      "HealthCheck": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-healthcheck",
        "Required": false,
        "Type": "HealthCheck",
        "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"
      },
      "Interactive": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-interactive",
        "PrimitiveType": "Boolean",
        "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"
      },
      "LinuxParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-linuxparameters",
        "Required": false,
        "Type": "LinuxParameters",
        "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"
      },
      "MemoryReservation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-memoryreservation",
        "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"
      },
      "PseudoTerminal": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-pseudoterminal",
        "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"
      },
      "RepositoryCredentials": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-repositorycredentials",
        "Required": false,
        "Type": "RepositoryCredentials",
        "UpdateType": "Immutable"
      },
      "ResourceRequirements": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-resourcerequirements",
        "DuplicatesAllowed": false,
        "ItemType": "ResourceRequirement",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Secrets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-secrets",
        "DuplicatesAllowed": false,
        "ItemType": "Secret",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "StartTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-starttimeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StopTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-stoptimeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SystemControls": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-systemcontrols",
        "DuplicatesAllowed": false,
        "ItemType": "SystemControl",
        "Required": false,
        "Type": "List",
        "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::ECS::TaskDefinition.ContainerDependency": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdependency.html",
    "Properties": {
      "Condition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdependency.html#cfn-ecs-taskdefinition-containerdependency-condition",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ContainerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdependency.html#cfn-ecs-taskdefinition-containerdependency-containername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.Device": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-device.html",
    "Properties": {
      "ContainerPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-device.html#cfn-ecs-taskdefinition-device-containerpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "HostPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-device.html#cfn-ecs-taskdefinition-device-hostpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Permissions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-device.html#cfn-ecs-taskdefinition-device-permissions",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.DockerVolumeConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html",
    "Properties": {
      "Autoprovision": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-autoprovision",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Driver": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-driver",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DriverOpts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-driveropts",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Immutable"
      },
      "Labels": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-labels",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Immutable"
      },
      "Scope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-scope",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.FirelensConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-firelensconfiguration.html",
    "Properties": {
      "Options": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-firelensconfiguration.html#cfn-ecs-taskdefinition-firelensconfiguration-options",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-firelensconfiguration.html#cfn-ecs-taskdefinition-firelensconfiguration-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.HealthCheck": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html",
    "Properties": {
      "Command": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html#cfn-ecs-taskdefinition-healthcheck-command",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Interval": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html#cfn-ecs-taskdefinition-healthcheck-interval",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Retries": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html#cfn-ecs-taskdefinition-healthcheck-retries",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StartPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html#cfn-ecs-taskdefinition-healthcheck-startperiod",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Timeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html#cfn-ecs-taskdefinition-healthcheck-timeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::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::ECS::TaskDefinition.InferenceAccelerator": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html",
    "Properties": {
      "DeviceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DevicePolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicepolicy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DeviceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-inferenceaccelerator.html#cfn-ecs-taskdefinition-inferenceaccelerator-devicetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.KernelCapabilities": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-kernelcapabilities.html",
    "Properties": {
      "Add": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-kernelcapabilities.html#cfn-ecs-taskdefinition-kernelcapabilities-add",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Drop": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-kernelcapabilities.html#cfn-ecs-taskdefinition-kernelcapabilities-drop",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "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::ECS::TaskDefinition.LinuxParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html",
    "Properties": {
      "Capabilities": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-capabilities",
        "Required": false,
        "Type": "KernelCapabilities",
        "UpdateType": "Immutable"
      },
      "Devices": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-devices",
        "DuplicatesAllowed": false,
        "ItemType": "Device",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "InitProcessEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-initprocessenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MaxSwap": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-maxswap",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SharedMemorySize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-sharedmemorysize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Swappiness": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-swappiness",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tmpfs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-linuxparameters.html#cfn-ecs-taskdefinition-linuxparameters-tmpfs",
        "DuplicatesAllowed": false,
        "ItemType": "Tmpfs",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "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"
      },
      "SecretOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-logconfiguration.html#cfn-ecs-taskdefinition-logconfiguration-secretoptions",
        "DuplicatesAllowed": false,
        "ItemType": "Secret",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "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::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::ECS::TaskDefinition.ProxyConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-proxyconfiguration.html",
    "Properties": {
      "ContainerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-proxyconfiguration.html#cfn-ecs-taskdefinition-proxyconfiguration-containername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ProxyConfigurationProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-proxyconfiguration.html#cfn-ecs-taskdefinition-proxyconfiguration-proxyconfigurationproperties",
        "DuplicatesAllowed": false,
        "ItemType": "KeyValuePair",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-proxyconfiguration.html#cfn-ecs-taskdefinition-proxyconfiguration-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.RepositoryCredentials": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-repositorycredentials.html",
    "Properties": {
      "CredentialsParameter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-repositorycredentials.html#cfn-ecs-taskdefinition-repositorycredentials-credentialsparameter",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.ResourceRequirement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-resourcerequirement.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-resourcerequirement.html#cfn-ecs-taskdefinition-resourcerequirement-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-resourcerequirement.html#cfn-ecs-taskdefinition-resourcerequirement-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.Secret": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-secret.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-secret.html#cfn-ecs-taskdefinition-secret-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ValueFrom": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-secret.html#cfn-ecs-taskdefinition-secret-valuefrom",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.SystemControl": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html",
    "Properties": {
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html#cfn-ecs-taskdefinition-systemcontrol-namespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-systemcontrol.html#cfn-ecs-taskdefinition-systemcontrol-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.TaskDefinitionPlacementConstraint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-taskdefinitionplacementconstraint.html",
    "Properties": {
      "Expression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-taskdefinitionplacementconstraint.html#cfn-ecs-taskdefinition-taskdefinitionplacementconstraint-expression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-taskdefinitionplacementconstraint.html#cfn-ecs-taskdefinition-taskdefinitionplacementconstraint-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskDefinition.Tmpfs": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html",
    "Properties": {
      "ContainerPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html#cfn-ecs-taskdefinition-tmpfs-containerpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MountOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html#cfn-ecs-taskdefinition-tmpfs-mountoptions",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Size": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-tmpfs.html#cfn-ecs-taskdefinition-tmpfs-size",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::ECS::TaskDefinition.Volume": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html",
    "Properties": {
      "DockerVolumeConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volumes.html#cfn-ecs-taskdefinition-volume-dockervolumeconfiguration",
        "Required": false,
        "Type": "DockerVolumeConfiguration",
        "UpdateType": "Immutable"
      },
      "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::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::ECS::TaskSet.AwsVpcConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html",
    "Properties": {
      "AssignPublicIp": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html#cfn-ecs-taskset-awsvpcconfiguration-assignpublicip",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html#cfn-ecs-taskset-awsvpcconfiguration-securitygroups",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Subnets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html#cfn-ecs-taskset-awsvpcconfiguration-subnets",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskSet.LoadBalancer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html",
    "Properties": {
      "ContainerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html#cfn-ecs-taskset-loadbalancer-containername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ContainerPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html#cfn-ecs-taskset-loadbalancer-containerport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LoadBalancerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html#cfn-ecs-taskset-loadbalancer-loadbalancername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TargetGroupArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-loadbalancer.html#cfn-ecs-taskset-loadbalancer-targetgrouparn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskSet.NetworkConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-networkconfiguration.html",
    "Properties": {
      "AwsVpcConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-networkconfiguration.html#cfn-ecs-taskset-networkconfiguration-awsvpcconfiguration",
        "Required": false,
        "Type": "AwsVpcConfiguration",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskSet.Scale": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-scale.html",
    "Properties": {
      "Unit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-scale.html#cfn-ecs-taskset-scale-unit",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-scale.html#cfn-ecs-taskset-scale-value",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::TaskSet.ServiceRegistry": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html",
    "Properties": {
      "ContainerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html#cfn-ecs-taskset-serviceregistry-containername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ContainerPort": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html#cfn-ecs-taskset-serviceregistry-containerport",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html#cfn-ecs-taskset-serviceregistry-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RegistryArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-serviceregistry.html#cfn-ecs-taskset-serviceregistry-registryarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "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"
      }
    }
  },
  "AWS::EFS::FileSystem.LifecyclePolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticfilesystem-filesystem-lifecyclepolicy.html",
    "Properties": {
      "TransitionToIA": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticfilesystem-filesystem-lifecyclepolicy.html#cfn-elasticfilesystem-filesystem-lifecyclepolicy-transitiontoia",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EKS::Cluster.ResourcesVpcConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html",
    "Properties": {
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html#cfn-eks-cluster-resourcesvpcconfig-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html#cfn-eks-cluster-resourcesvpcconfig-subnetids",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EKS::Nodegroup.RemoteAccess": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-remoteaccess.html",
    "Properties": {
      "Ec2SshKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-remoteaccess.html#cfn-eks-nodegroup-remoteaccess-ec2sshkey",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SourceSecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-remoteaccess.html#cfn-eks-nodegroup-remoteaccess-sourcesecuritygroups",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EKS::Nodegroup.ScalingConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-scalingconfig.html",
    "Properties": {
      "DesiredSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-scalingconfig.html#cfn-eks-nodegroup-scalingconfig-desiredsize",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-scalingconfig.html#cfn-eks-nodegroup-scalingconfig-maxsize",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-scalingconfig.html#cfn-eks-nodegroup-scalingconfig-minsize",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.Application": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-application.html",
    "Properties": {
      "AdditionalInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-application.html#cfn-elasticmapreduce-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-elasticmapreduce-cluster-application.html#cfn-elasticmapreduce-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-elasticmapreduce-cluster-application.html#cfn-elasticmapreduce-cluster-application-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-application.html#cfn-elasticmapreduce-cluster-application-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.AutoScalingPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-autoscalingpolicy.html",
    "Properties": {
      "Constraints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-autoscalingpolicy.html#cfn-elasticmapreduce-cluster-autoscalingpolicy-constraints",
        "Required": true,
        "Type": "ScalingConstraints",
        "UpdateType": "Mutable"
      },
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-autoscalingpolicy.html#cfn-elasticmapreduce-cluster-autoscalingpolicy-rules",
        "DuplicatesAllowed": false,
        "ItemType": "ScalingRule",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.BootstrapActionConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-bootstrapactionconfig.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-bootstrapactionconfig.html#cfn-elasticmapreduce-cluster-bootstrapactionconfig-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ScriptBootstrapAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-bootstrapactionconfig.html#cfn-elasticmapreduce-cluster-bootstrapactionconfig-scriptbootstrapaction",
        "Required": true,
        "Type": "ScriptBootstrapActionConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.CloudWatchAlarmDefinition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html",
    "Properties": {
      "ComparisonOperator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-comparisonoperator",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Dimensions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-dimensions",
        "DuplicatesAllowed": false,
        "ItemType": "MetricDimension",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EvaluationPeriods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-evaluationperiods",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-namespace",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Period": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-period",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Statistic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-statistic",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Threshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-threshold",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Unit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-cluster-cloudwatchalarmdefinition-unit",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.Configuration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-configuration.html",
    "Properties": {
      "Classification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-configuration.html#cfn-elasticmapreduce-cluster-configuration-classification",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ConfigurationProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-configuration.html#cfn-elasticmapreduce-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-elasticmapreduce-cluster-configuration.html#cfn-elasticmapreduce-cluster-configuration-configurations",
        "DuplicatesAllowed": false,
        "ItemType": "Configuration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.EbsBlockDeviceConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsblockdeviceconfig.html",
    "Properties": {
      "VolumeSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsblockdeviceconfig.html#cfn-elasticmapreduce-cluster-ebsblockdeviceconfig-volumespecification",
        "Required": true,
        "Type": "VolumeSpecification",
        "UpdateType": "Mutable"
      },
      "VolumesPerInstance": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsblockdeviceconfig.html#cfn-elasticmapreduce-cluster-ebsblockdeviceconfig-volumesperinstance",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.EbsConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsconfiguration.html",
    "Properties": {
      "EbsBlockDeviceConfigs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsconfiguration.html#cfn-elasticmapreduce-cluster-ebsconfiguration-ebsblockdeviceconfigs",
        "DuplicatesAllowed": false,
        "ItemType": "EbsBlockDeviceConfig",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EbsOptimized": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-ebsconfiguration.html#cfn-elasticmapreduce-cluster-ebsconfiguration-ebsoptimized",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.HadoopJarStepConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html",
    "Properties": {
      "Args": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html#cfn-elasticmapreduce-cluster-hadoopjarstepconfig-args",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Jar": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html#cfn-elasticmapreduce-cluster-hadoopjarstepconfig-jar",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MainClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html#cfn-elasticmapreduce-cluster-hadoopjarstepconfig-mainclass",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StepProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-hadoopjarstepconfig.html#cfn-elasticmapreduce-cluster-hadoopjarstepconfig-stepproperties",
        "DuplicatesAllowed": false,
        "ItemType": "KeyValue",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.InstanceFleetConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html",
    "Properties": {
      "InstanceTypeConfigs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html#cfn-elasticmapreduce-cluster-instancefleetconfig-instancetypeconfigs",
        "DuplicatesAllowed": false,
        "ItemType": "InstanceTypeConfig",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "LaunchSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html#cfn-elasticmapreduce-cluster-instancefleetconfig-launchspecifications",
        "Required": false,
        "Type": "InstanceFleetProvisioningSpecifications",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html#cfn-elasticmapreduce-cluster-instancefleetconfig-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TargetOnDemandCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html#cfn-elasticmapreduce-cluster-instancefleetconfig-targetondemandcapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetSpotCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetconfig.html#cfn-elasticmapreduce-cluster-instancefleetconfig-targetspotcapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.InstanceFleetProvisioningSpecifications": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetprovisioningspecifications.html",
    "Properties": {
      "SpotSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancefleetprovisioningspecifications.html#cfn-elasticmapreduce-cluster-instancefleetprovisioningspecifications-spotspecification",
        "Required": true,
        "Type": "SpotProvisioningSpecification",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.InstanceGroupConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html",
    "Properties": {
      "AutoScalingPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-autoscalingpolicy",
        "Required": false,
        "Type": "AutoScalingPolicy",
        "UpdateType": "Mutable"
      },
      "BidPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-bidprice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Configurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-configurations",
        "DuplicatesAllowed": false,
        "ItemType": "Configuration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "EbsConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-ebsconfiguration",
        "Required": false,
        "Type": "EbsConfiguration",
        "UpdateType": "Immutable"
      },
      "InstanceCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-instancecount",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Market": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-market",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancegroupconfig.html#cfn-elasticmapreduce-cluster-instancegroupconfig-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EMR::Cluster.InstanceTypeConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html",
    "Properties": {
      "BidPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html#cfn-elasticmapreduce-cluster-instancetypeconfig-bidprice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BidPriceAsPercentageOfOnDemandPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html#cfn-elasticmapreduce-cluster-instancetypeconfig-bidpriceaspercentageofondemandprice",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Configurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html#cfn-elasticmapreduce-cluster-instancetypeconfig-configurations",
        "DuplicatesAllowed": false,
        "ItemType": "Configuration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "EbsConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html#cfn-elasticmapreduce-cluster-instancetypeconfig-ebsconfiguration",
        "Required": false,
        "Type": "EbsConfiguration",
        "UpdateType": "Immutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html#cfn-elasticmapreduce-cluster-instancetypeconfig-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "WeightedCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-instancetypeconfig.html#cfn-elasticmapreduce-cluster-instancetypeconfig-weightedcapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EMR::Cluster.JobFlowInstancesConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html",
    "Properties": {
      "AdditionalMasterSecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-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-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-additionalslavesecuritygroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "CoreInstanceFleet": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-coreinstancefleet",
        "Required": false,
        "Type": "InstanceFleetConfig",
        "UpdateType": "Immutable"
      },
      "CoreInstanceGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-coreinstancegroup",
        "Required": false,
        "Type": "InstanceGroupConfig",
        "UpdateType": "Immutable"
      },
      "Ec2KeyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-ec2keyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Ec2SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-ec2subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Ec2SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-ec2subnetids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "EmrManagedMasterSecurityGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-emrmanagedmastersecuritygroup",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EmrManagedSlaveSecurityGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-emrmanagedslavesecuritygroup",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "HadoopVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-hadoopversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "KeepJobFlowAliveWhenNoSteps": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-keepjobflowalivewhennosteps",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MasterInstanceFleet": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-masterinstancefleet",
        "Required": false,
        "Type": "InstanceFleetConfig",
        "UpdateType": "Immutable"
      },
      "MasterInstanceGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-masterinstancegroup",
        "Required": false,
        "Type": "InstanceGroupConfig",
        "UpdateType": "Immutable"
      },
      "Placement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-placement",
        "Required": false,
        "Type": "PlacementType",
        "UpdateType": "Immutable"
      },
      "ServiceAccessSecurityGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-serviceaccesssecuritygroup",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TerminationProtected": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html#cfn-elasticmapreduce-cluster-jobflowinstancesconfig-terminationprotected",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.KerberosAttributes": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-kerberosattributes.html",
    "Properties": {
      "ADDomainJoinPassword": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-kerberosattributes.html#cfn-elasticmapreduce-cluster-kerberosattributes-addomainjoinpassword",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ADDomainJoinUser": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-kerberosattributes.html#cfn-elasticmapreduce-cluster-kerberosattributes-addomainjoinuser",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CrossRealmTrustPrincipalPassword": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-kerberosattributes.html#cfn-elasticmapreduce-cluster-kerberosattributes-crossrealmtrustprincipalpassword",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KdcAdminPassword": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-kerberosattributes.html#cfn-elasticmapreduce-cluster-kerberosattributes-kdcadminpassword",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Realm": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-kerberosattributes.html#cfn-elasticmapreduce-cluster-kerberosattributes-realm",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.KeyValue": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-keyvalue.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-keyvalue.html#cfn-elasticmapreduce-cluster-keyvalue-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-keyvalue.html#cfn-elasticmapreduce-cluster-keyvalue-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.MetricDimension": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-metricdimension.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-metricdimension.html#cfn-elasticmapreduce-cluster-metricdimension-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-metricdimension.html#cfn-elasticmapreduce-cluster-metricdimension-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.PlacementType": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-placementtype.html",
    "Properties": {
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-placementtype.html#cfn-elasticmapreduce-cluster-placementtype-availabilityzone",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EMR::Cluster.ScalingAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingaction.html",
    "Properties": {
      "Market": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingaction.html#cfn-elasticmapreduce-cluster-scalingaction-market",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SimpleScalingPolicyConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingaction.html#cfn-elasticmapreduce-cluster-scalingaction-simplescalingpolicyconfiguration",
        "Required": true,
        "Type": "SimpleScalingPolicyConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.ScalingConstraints": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingconstraints.html",
    "Properties": {
      "MaxCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingconstraints.html#cfn-elasticmapreduce-cluster-scalingconstraints-maxcapacity",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MinCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingconstraints.html#cfn-elasticmapreduce-cluster-scalingconstraints-mincapacity",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.ScalingRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingrule.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingrule.html#cfn-elasticmapreduce-cluster-scalingrule-action",
        "Required": true,
        "Type": "ScalingAction",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingrule.html#cfn-elasticmapreduce-cluster-scalingrule-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingrule.html#cfn-elasticmapreduce-cluster-scalingrule-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Trigger": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingrule.html#cfn-elasticmapreduce-cluster-scalingrule-trigger",
        "Required": true,
        "Type": "ScalingTrigger",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.ScalingTrigger": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingtrigger.html",
    "Properties": {
      "CloudWatchAlarmDefinition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scalingtrigger.html#cfn-elasticmapreduce-cluster-scalingtrigger-cloudwatchalarmdefinition",
        "Required": true,
        "Type": "CloudWatchAlarmDefinition",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.ScriptBootstrapActionConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scriptbootstrapactionconfig.html",
    "Properties": {
      "Args": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scriptbootstrapactionconfig.html#cfn-elasticmapreduce-cluster-scriptbootstrapactionconfig-args",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-scriptbootstrapactionconfig.html#cfn-elasticmapreduce-cluster-scriptbootstrapactionconfig-path",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.SimpleScalingPolicyConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-simplescalingpolicyconfiguration.html",
    "Properties": {
      "AdjustmentType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-simplescalingpolicyconfiguration.html#cfn-elasticmapreduce-cluster-simplescalingpolicyconfiguration-adjustmenttype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CoolDown": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-simplescalingpolicyconfiguration.html#cfn-elasticmapreduce-cluster-simplescalingpolicyconfiguration-cooldown",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScalingAdjustment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-simplescalingpolicyconfiguration.html#cfn-elasticmapreduce-cluster-simplescalingpolicyconfiguration-scalingadjustment",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.SpotProvisioningSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html",
    "Properties": {
      "BlockDurationMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html#cfn-elasticmapreduce-cluster-spotprovisioningspecification-blockdurationminutes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TimeoutAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html#cfn-elasticmapreduce-cluster-spotprovisioningspecification-timeoutaction",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TimeoutDurationMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-spotprovisioningspecification.html#cfn-elasticmapreduce-cluster-spotprovisioningspecification-timeoutdurationminutes",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.StepConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-stepconfig.html",
    "Properties": {
      "ActionOnFailure": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-stepconfig.html#cfn-elasticmapreduce-cluster-stepconfig-actiononfailure",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HadoopJarStep": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-stepconfig.html#cfn-elasticmapreduce-cluster-stepconfig-hadoopjarstep",
        "Required": true,
        "Type": "HadoopJarStepConfig",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-stepconfig.html#cfn-elasticmapreduce-cluster-stepconfig-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster.VolumeSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-volumespecification.html",
    "Properties": {
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-volumespecification.html#cfn-elasticmapreduce-cluster-volumespecification-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SizeInGB": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-volumespecification.html#cfn-elasticmapreduce-cluster-volumespecification-sizeingb",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-volumespecification.html#cfn-elasticmapreduce-cluster-volumespecification-volumetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceFleetConfig.Configuration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-configuration.html",
    "Properties": {
      "Classification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-configuration.html#cfn-elasticmapreduce-instancefleetconfig-configuration-classification",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ConfigurationProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-configuration.html#cfn-elasticmapreduce-instancefleetconfig-configuration-configurationproperties",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Immutable"
      },
      "Configurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-configuration.html#cfn-elasticmapreduce-instancefleetconfig-configuration-configurations",
        "DuplicatesAllowed": false,
        "ItemType": "Configuration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EMR::InstanceFleetConfig.EbsBlockDeviceConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsblockdeviceconfig.html",
    "Properties": {
      "VolumeSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsblockdeviceconfig.html#cfn-elasticmapreduce-instancefleetconfig-ebsblockdeviceconfig-volumespecification",
        "Required": true,
        "Type": "VolumeSpecification",
        "UpdateType": "Immutable"
      },
      "VolumesPerInstance": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsblockdeviceconfig.html#cfn-elasticmapreduce-instancefleetconfig-ebsblockdeviceconfig-volumesperinstance",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EMR::InstanceFleetConfig.EbsConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsconfiguration.html",
    "Properties": {
      "EbsBlockDeviceConfigs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsconfiguration.html#cfn-elasticmapreduce-instancefleetconfig-ebsconfiguration-ebsblockdeviceconfigs",
        "DuplicatesAllowed": false,
        "ItemType": "EbsBlockDeviceConfig",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "EbsOptimized": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-ebsconfiguration.html#cfn-elasticmapreduce-instancefleetconfig-ebsconfiguration-ebsoptimized",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EMR::InstanceFleetConfig.InstanceFleetProvisioningSpecifications": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications.html",
    "Properties": {
      "SpotSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications.html#cfn-elasticmapreduce-instancefleetconfig-instancefleetprovisioningspecifications-spotspecification",
        "Required": true,
        "Type": "SpotProvisioningSpecification",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceFleetConfig.InstanceTypeConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html",
    "Properties": {
      "BidPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfig-bidprice",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BidPriceAsPercentageOfOnDemandPrice": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfig-bidpriceaspercentageofondemandprice",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Configurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfig-configurations",
        "DuplicatesAllowed": false,
        "ItemType": "Configuration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "EbsConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfig-ebsconfiguration",
        "Required": false,
        "Type": "EbsConfiguration",
        "UpdateType": "Immutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfig-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "WeightedCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-instancetypeconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfig-weightedcapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EMR::InstanceFleetConfig.SpotProvisioningSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html",
    "Properties": {
      "BlockDurationMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html#cfn-elasticmapreduce-instancefleetconfig-spotprovisioningspecification-blockdurationminutes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TimeoutAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html#cfn-elasticmapreduce-instancefleetconfig-spotprovisioningspecification-timeoutaction",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TimeoutDurationMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-spotprovisioningspecification.html#cfn-elasticmapreduce-instancefleetconfig-spotprovisioningspecification-timeoutdurationminutes",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceFleetConfig.VolumeSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-volumespecification.html",
    "Properties": {
      "Iops": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-volumespecification.html#cfn-elasticmapreduce-instancefleetconfig-volumespecification-iops",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SizeInGB": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-volumespecification.html#cfn-elasticmapreduce-instancefleetconfig-volumespecification-sizeingb",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "VolumeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancefleetconfig-volumespecification.html#cfn-elasticmapreduce-instancefleetconfig-volumespecification-volumetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig.AutoScalingPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-autoscalingpolicy.html",
    "Properties": {
      "Constraints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-autoscalingpolicy.html#cfn-elasticmapreduce-instancegroupconfig-autoscalingpolicy-constraints",
        "Required": true,
        "Type": "ScalingConstraints",
        "UpdateType": "Mutable"
      },
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-autoscalingpolicy.html#cfn-elasticmapreduce-instancegroupconfig-autoscalingpolicy-rules",
        "DuplicatesAllowed": false,
        "ItemType": "ScalingRule",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig.CloudWatchAlarmDefinition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html",
    "Properties": {
      "ComparisonOperator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-comparisonoperator",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Dimensions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-dimensions",
        "DuplicatesAllowed": false,
        "ItemType": "MetricDimension",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EvaluationPeriods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-evaluationperiods",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-namespace",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Period": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-period",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Statistic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-statistic",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Threshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-threshold",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Unit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition.html#cfn-elasticmapreduce-instancegroupconfig-cloudwatchalarmdefinition-unit",
        "PrimitiveType": "String",
        "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::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::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::EMR::InstanceGroupConfig.MetricDimension": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-metricdimension.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-metricdimension.html#cfn-elasticmapreduce-instancegroupconfig-metricdimension-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-metricdimension.html#cfn-elasticmapreduce-instancegroupconfig-metricdimension-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig.ScalingAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingaction.html",
    "Properties": {
      "Market": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingaction.html#cfn-elasticmapreduce-instancegroupconfig-scalingaction-market",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SimpleScalingPolicyConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingaction.html#cfn-elasticmapreduce-instancegroupconfig-scalingaction-simplescalingpolicyconfiguration",
        "Required": true,
        "Type": "SimpleScalingPolicyConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig.ScalingConstraints": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingconstraints.html",
    "Properties": {
      "MaxCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingconstraints.html#cfn-elasticmapreduce-instancegroupconfig-scalingconstraints-maxcapacity",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MinCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingconstraints.html#cfn-elasticmapreduce-instancegroupconfig-scalingconstraints-mincapacity",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig.ScalingRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingrule.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingrule.html#cfn-elasticmapreduce-instancegroupconfig-scalingrule-action",
        "Required": true,
        "Type": "ScalingAction",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingrule.html#cfn-elasticmapreduce-instancegroupconfig-scalingrule-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingrule.html#cfn-elasticmapreduce-instancegroupconfig-scalingrule-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Trigger": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingrule.html#cfn-elasticmapreduce-instancegroupconfig-scalingrule-trigger",
        "Required": true,
        "Type": "ScalingTrigger",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig.ScalingTrigger": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingtrigger.html",
    "Properties": {
      "CloudWatchAlarmDefinition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-scalingtrigger.html#cfn-elasticmapreduce-instancegroupconfig-scalingtrigger-cloudwatchalarmdefinition",
        "Required": true,
        "Type": "CloudWatchAlarmDefinition",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig.SimpleScalingPolicyConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration.html",
    "Properties": {
      "AdjustmentType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration.html#cfn-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration-adjustmenttype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CoolDown": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration.html#cfn-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration-cooldown",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScalingAdjustment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration.html#cfn-elasticmapreduce-instancegroupconfig-simplescalingpolicyconfiguration-scalingadjustment",
        "PrimitiveType": "Integer",
        "Required": true,
        "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::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::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::ElastiCache::ReplicationGroup.NodeGroupConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html",
    "Properties": {
      "NodeGroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-nodegroupid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "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::ElasticBeanstalk::Application.ApplicationResourceLifecycleConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationresourcelifecycleconfig.html",
    "Properties": {
      "ServiceRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationresourcelifecycleconfig.html#cfn-elasticbeanstalk-application-applicationresourcelifecycleconfig-servicerole",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VersionLifecycleConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationresourcelifecycleconfig.html#cfn-elasticbeanstalk-application-applicationresourcelifecycleconfig-versionlifecycleconfig",
        "Required": false,
        "Type": "ApplicationVersionLifecycleConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticBeanstalk::Application.ApplicationVersionLifecycleConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationversionlifecycleconfig.html",
    "Properties": {
      "MaxAgeRule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationversionlifecycleconfig.html#cfn-elasticbeanstalk-application-applicationversionlifecycleconfig-maxagerule",
        "Required": false,
        "Type": "MaxAgeRule",
        "UpdateType": "Mutable"
      },
      "MaxCountRule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-applicationversionlifecycleconfig.html#cfn-elasticbeanstalk-application-applicationversionlifecycleconfig-maxcountrule",
        "Required": false,
        "Type": "MaxCountRule",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticBeanstalk::Application.MaxAgeRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxagerule.html",
    "Properties": {
      "DeleteSourceFromS3": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxagerule.html#cfn-elasticbeanstalk-application-maxagerule-deletesourcefroms3",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxagerule.html#cfn-elasticbeanstalk-application-maxagerule-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxAgeInDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxagerule.html#cfn-elasticbeanstalk-application-maxagerule-maxageindays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticBeanstalk::Application.MaxCountRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxcountrule.html",
    "Properties": {
      "DeleteSourceFromS3": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxcountrule.html#cfn-elasticbeanstalk-application-maxcountrule-deletesourcefroms3",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxcountrule.html#cfn-elasticbeanstalk-application-maxcountrule-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-application-maxcountrule.html#cfn-elasticbeanstalk-application-maxcountrule-maxcount",
        "PrimitiveType": "Integer",
        "Required": false,
        "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::ElasticBeanstalk::ConfigurationTemplate.ConfigurationOptionSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-configurationoptionsetting.html",
    "Properties": {
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-configurationoptionsetting.html#cfn-elasticbeanstalk-configurationtemplate-configurationoptionsetting-namespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OptionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-configurationoptionsetting.html#cfn-elasticbeanstalk-configurationtemplate-configurationoptionsetting-optionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ResourceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-configurationoptionsetting.html#cfn-elasticbeanstalk-configurationtemplate-configurationoptionsetting-resourcename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-configurationoptionsetting.html#cfn-elasticbeanstalk-configurationtemplate-configurationoptionsetting-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticBeanstalk::ConfigurationTemplate.SourceConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-sourceconfiguration.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-sourceconfiguration.html#cfn-elasticbeanstalk-configurationtemplate-sourceconfiguration-applicationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticbeanstalk-configurationtemplate-sourceconfiguration.html#cfn-elasticbeanstalk-configurationtemplate-sourceconfiguration-templatename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticBeanstalk::Environment.OptionSetting": {
    "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"
      },
      "ResourceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-option-settings.html#cfn-elasticbeanstalk-environment-optionsetting-resourcename",
        "PrimitiveType": "String",
        "Required": false,
        "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": 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::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::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::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::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::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::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::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::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,
        "PrimitiveItemType": "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::ElasticLoadBalancingV2::Listener.Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html",
    "Properties": {
      "AuthenticateCognitoConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-authenticatecognitoconfig",
        "Required": false,
        "Type": "AuthenticateCognitoConfig",
        "UpdateType": "Mutable"
      },
      "AuthenticateOidcConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-authenticateoidcconfig",
        "Required": false,
        "Type": "AuthenticateOidcConfig",
        "UpdateType": "Mutable"
      },
      "FixedResponseConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-fixedresponseconfig",
        "Required": false,
        "Type": "FixedResponseConfig",
        "UpdateType": "Mutable"
      },
      "Order": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-order",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RedirectConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-action-redirectconfig",
        "Required": false,
        "Type": "RedirectConfig",
        "UpdateType": "Mutable"
      },
      "TargetGroupArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html#cfn-elasticloadbalancingv2-listener-defaultactions-targetgrouparn",
        "PrimitiveType": "String",
        "Required": false,
        "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::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html",
    "Properties": {
      "AuthenticationRequestExtraParams": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-authenticationrequestextraparams",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "OnUnauthenticatedRequest": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-onunauthenticatedrequest",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Scope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-scope",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SessionCookieName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-sessioncookiename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SessionTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-sessiontimeout",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserPoolArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-userpoolarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "UserPoolClientId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-userpoolclientid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "UserPoolDomain": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listener-authenticatecognitoconfig-userpooldomain",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html",
    "Properties": {
      "AuthenticationRequestExtraParams": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-authenticationrequestextraparams",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "AuthorizationEndpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-authorizationendpoint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ClientId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-clientid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ClientSecret": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-clientsecret",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Issuer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-issuer",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OnUnauthenticatedRequest": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-onunauthenticatedrequest",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Scope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-scope",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SessionCookieName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-sessioncookiename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SessionTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-sessiontimeout",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TokenEndpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-tokenendpoint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "UserInfoEndpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listener-authenticateoidcconfig-userinfoendpoint",
        "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::Listener.FixedResponseConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html",
    "Properties": {
      "ContentType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listener-fixedresponseconfig-contenttype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MessageBody": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listener-fixedresponseconfig-messagebody",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StatusCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listener-fixedresponseconfig-statuscode",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::Listener.RedirectConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html",
    "Properties": {
      "Host": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-host",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-port",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-protocol",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Query": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-query",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StatusCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html#cfn-elasticloadbalancingv2-listener-redirectconfig-statuscode",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerCertificate.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::ListenerRule.Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html",
    "Properties": {
      "AuthenticateCognitoConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-authenticatecognitoconfig",
        "Required": false,
        "Type": "AuthenticateCognitoConfig",
        "UpdateType": "Mutable"
      },
      "AuthenticateOidcConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-authenticateoidcconfig",
        "Required": false,
        "Type": "AuthenticateOidcConfig",
        "UpdateType": "Mutable"
      },
      "FixedResponseConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-fixedresponseconfig",
        "Required": false,
        "Type": "FixedResponseConfig",
        "UpdateType": "Mutable"
      },
      "Order": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-order",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RedirectConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listenerrule-action-redirectconfig",
        "Required": false,
        "Type": "RedirectConfig",
        "UpdateType": "Mutable"
      },
      "TargetGroupArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-actions.html#cfn-elasticloadbalancingv2-listener-actions-targetgrouparn",
        "PrimitiveType": "String",
        "Required": false,
        "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::ElasticLoadBalancingV2::ListenerRule.AuthenticateCognitoConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html",
    "Properties": {
      "AuthenticationRequestExtraParams": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-authenticationrequestextraparams",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "OnUnauthenticatedRequest": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-onunauthenticatedrequest",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Scope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-scope",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SessionCookieName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-sessioncookiename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SessionTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-sessiontimeout",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserPoolArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-userpoolarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "UserPoolClientId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-userpoolclientid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "UserPoolDomain": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticatecognitoconfig-userpooldomain",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerRule.AuthenticateOidcConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html",
    "Properties": {
      "AuthenticationRequestExtraParams": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-authenticationrequestextraparams",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "AuthorizationEndpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-authorizationendpoint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ClientId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-clientid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ClientSecret": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-clientsecret",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Issuer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-issuer",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OnUnauthenticatedRequest": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-onunauthenticatedrequest",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Scope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-scope",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SessionCookieName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-sessioncookiename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SessionTimeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-sessiontimeout",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TokenEndpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-tokenendpoint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "UserInfoEndpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-authenticateoidcconfig.html#cfn-elasticloadbalancingv2-listenerrule-authenticateoidcconfig-userinfoendpoint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerRule.FixedResponseConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-fixedresponseconfig.html",
    "Properties": {
      "ContentType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listenerrule-fixedresponseconfig-contenttype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MessageBody": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listenerrule-fixedresponseconfig-messagebody",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StatusCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-fixedresponseconfig.html#cfn-elasticloadbalancingv2-listenerrule-fixedresponseconfig-statuscode",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerRule.HostHeaderConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-hostheaderconfig.html",
    "Properties": {
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-hostheaderconfig.html#cfn-elasticloadbalancingv2-listenerrule-hostheaderconfig-values",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerRule.HttpHeaderConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-httpheaderconfig.html",
    "Properties": {
      "HttpHeaderName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-httpheaderconfig.html#cfn-elasticloadbalancingv2-listenerrule-httpheaderconfig-httpheadername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-httpheaderconfig.html#cfn-elasticloadbalancingv2-listenerrule-httpheaderconfig-values",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerRule.HttpRequestMethodConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-httprequestmethodconfig.html",
    "Properties": {
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-httprequestmethodconfig.html#cfn-elasticloadbalancingv2-listenerrule-httprequestmethodconfig-values",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerRule.PathPatternConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-pathpatternconfig.html",
    "Properties": {
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-pathpatternconfig.html#cfn-elasticloadbalancingv2-listenerrule-pathpatternconfig-values",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-querystringconfig.html",
    "Properties": {
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-querystringconfig.html#cfn-elasticloadbalancingv2-listenerrule-querystringconfig-values",
        "DuplicatesAllowed": false,
        "ItemType": "QueryStringKeyValue",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerRule.QueryStringKeyValue": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-querystringkeyvalue.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-querystringkeyvalue.html#cfn-elasticloadbalancingv2-listenerrule-querystringkeyvalue-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-querystringkeyvalue.html#cfn-elasticloadbalancingv2-listenerrule-querystringkeyvalue-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ElasticLoadBalancingV2::ListenerRule.RedirectConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html",
    "Properties": {
      "Host": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-host",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-port",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-protocol",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Query": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-query",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StatusCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-redirectconfig.html#cfn-elasticloadbalancingv2-listenerrule-redirectconfig-statuscode",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "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"
      },
      "HostHeaderConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-hostheaderconfig",
        "Required": false,
        "Type": "HostHeaderConfig",
        "UpdateType": "Mutable"
      },
      "HttpHeaderConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-httpheaderconfig",
        "Required": false,
        "Type": "HttpHeaderConfig",
        "UpdateType": "Mutable"
      },
      "HttpRequestMethodConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-httprequestmethodconfig",
        "Required": false,
        "Type": "HttpRequestMethodConfig",
        "UpdateType": "Mutable"
      },
      "PathPatternConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-pathpatternconfig",
        "Required": false,
        "Type": "PathPatternConfig",
        "UpdateType": "Mutable"
      },
      "QueryStringConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-querystringconfig",
        "Required": false,
        "Type": "QueryStringConfig",
        "UpdateType": "Mutable"
      },
      "SourceIpConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-conditions.html#cfn-elasticloadbalancingv2-listenerrule-rulecondition-sourceipconfig",
        "Required": false,
        "Type": "SourceIpConfig",
        "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::ElasticLoadBalancingV2::ListenerRule.SourceIpConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-sourceipconfig.html",
    "Properties": {
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listenerrule-sourceipconfig.html#cfn-elasticloadbalancingv2-listenerrule-sourceipconfig-values",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "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::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::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::ElasticLoadBalancingV2::TargetGroup.TargetDescription": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetdescription.html",
    "Properties": {
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetdescription.html#cfn-elasticloadbalancingv2-targetgroup-targetdescription-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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::ElasticLoadBalancingV2::TargetGroup.TargetGroupAttribute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattribute.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattribute.html#cfn-elasticloadbalancingv2-targetgroup-targetgroupattribute-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-targetgroup-targetgroupattribute.html#cfn-elasticloadbalancingv2-targetgroup-targetgroupattribute-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Elasticsearch::Domain.CognitoOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IdentityPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-identitypoolid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-cognitooptions.html#cfn-elasticsearch-domain-cognitooptions-userpoolid",
        "PrimitiveType": "String",
        "Required": false,
        "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::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"
      },
      "ZoneAwarenessConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-elasticsearchclusterconfig.html#cfn-elasticsearch-domain-elasticsearchclusterconfig-zoneawarenessconfig",
        "Required": false,
        "Type": "ZoneAwarenessConfig",
        "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::Elasticsearch::Domain.EncryptionAtRestOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-encryptionatrestoptions.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-encryptionatrestoptions.html#cfn-elasticsearch-domain-encryptionatrestoptions-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-encryptionatrestoptions.html#cfn-elasticsearch-domain-encryptionatrestoptions-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Elasticsearch::Domain.LogPublishingOption": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html",
    "Properties": {
      "CloudWatchLogsLogGroupArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html#cfn-elasticsearch-domain-logpublishingoption-cloudwatchlogsloggrouparn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-logpublishingoption.html#cfn-elasticsearch-domain-logpublishingoption-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Elasticsearch::Domain.NodeToNodeEncryptionOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-nodetonodeencryptionoptions.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-nodetonodeencryptionoptions.html#cfn-elasticsearch-domain-nodetonodeencryptionoptions-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::Elasticsearch::Domain.VPCOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-vpcoptions.html",
    "Properties": {
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-vpcoptions.html#cfn-elasticsearch-domain-vpcoptions-securitygroupids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-vpcoptions.html#cfn-elasticsearch-domain-vpcoptions-subnetids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Elasticsearch::Domain.ZoneAwarenessConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-zoneawarenessconfig.html",
    "Properties": {
      "AvailabilityZoneCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticsearch-domain-zoneawarenessconfig.html#cfn-elasticsearch-domain-zoneawarenessconfig-availabilityzonecount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EventSchemas::Discoverer.TagsEntry": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-discoverer-tagsentry.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-discoverer-tagsentry.html#cfn-eventschemas-discoverer-tagsentry-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-discoverer-tagsentry.html#cfn-eventschemas-discoverer-tagsentry-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EventSchemas::Registry.TagsEntry": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-registry-tagsentry.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-registry-tagsentry.html#cfn-eventschemas-registry-tagsentry-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-registry-tagsentry.html#cfn-eventschemas-registry-tagsentry-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EventSchemas::Schema.TagsEntry": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-schema-tagsentry.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-schema-tagsentry.html#cfn-eventschemas-schema-tagsentry-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eventschemas-schema-tagsentry.html#cfn-eventschemas-schema-tagsentry-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::EventBusPolicy.Condition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::Rule.AwsVpcConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html",
    "Properties": {
      "AssignPublicIp": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-assignpublicip",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-securitygroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Subnets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-subnets",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::Rule.BatchArrayProperties": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batcharrayproperties.html",
    "Properties": {
      "Size": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batcharrayproperties.html#cfn-events-rule-batcharrayproperties-size",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::Rule.BatchParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html",
    "Properties": {
      "ArrayProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-arrayproperties",
        "Required": false,
        "Type": "BatchArrayProperties",
        "UpdateType": "Mutable"
      },
      "JobDefinition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-jobdefinition",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "JobName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-jobname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RetryStrategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-retrystrategy",
        "Required": false,
        "Type": "BatchRetryStrategy",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::Rule.BatchRetryStrategy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchretrystrategy.html",
    "Properties": {
      "Attempts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchretrystrategy.html#cfn-events-rule-batchretrystrategy-attempts",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::Rule.EcsParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html",
    "Properties": {
      "Group": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-group",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LaunchType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-launchtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NetworkConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-networkconfiguration",
        "Required": false,
        "Type": "NetworkConfiguration",
        "UpdateType": "Mutable"
      },
      "PlatformVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-platformversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TaskCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-taskcount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TaskDefinitionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-taskdefinitionarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::Rule.InputTransformer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html",
    "Properties": {
      "InputPathsMap": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html#cfn-events-rule-inputtransformer-inputpathsmap",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "InputTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html#cfn-events-rule-inputtransformer-inputtemplate",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::Rule.KinesisParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-kinesisparameters.html",
    "Properties": {
      "PartitionKeyPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-kinesisparameters.html#cfn-events-rule-kinesisparameters-partitionkeypath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::Rule.NetworkConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-networkconfiguration.html",
    "Properties": {
      "AwsVpcConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-networkconfiguration.html#cfn-events-rule-networkconfiguration-awsvpcconfiguration",
        "Required": false,
        "Type": "AwsVpcConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::Rule.RunCommandParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandparameters.html",
    "Properties": {
      "RunCommandTargets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandparameters.html#cfn-events-rule-runcommandparameters-runcommandtargets",
        "DuplicatesAllowed": false,
        "ItemType": "RunCommandTarget",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::Rule.RunCommandTarget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html#cfn-events-rule-runcommandtarget-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html#cfn-events-rule-runcommandtarget-values",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::Rule.SqsParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html",
    "Properties": {
      "MessageGroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html#cfn-events-rule-sqsparameters-messagegroupid",
        "PrimitiveType": "String",
        "Required": true,
        "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"
      },
      "BatchParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-batchparameters",
        "Required": false,
        "Type": "BatchParameters",
        "UpdateType": "Mutable"
      },
      "EcsParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-ecsparameters",
        "Required": false,
        "Type": "EcsParameters",
        "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"
      },
      "InputTransformer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputtransformer",
        "Required": false,
        "Type": "InputTransformer",
        "UpdateType": "Mutable"
      },
      "KinesisParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-kinesisparameters",
        "Required": false,
        "Type": "KinesisParameters",
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RunCommandParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-runcommandparameters",
        "Required": false,
        "Type": "RunCommandParameters",
        "UpdateType": "Mutable"
      },
      "SqsParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-sqsparameters",
        "Required": false,
        "Type": "SqsParameters",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::FSx::FileSystem.LustreConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html",
    "Properties": {
      "ExportPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-exportpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ImportPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-importpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ImportedFileChunkSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-importedfilechunksize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "WeeklyMaintenanceStartTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-lustreconfiguration.html#cfn-fsx-filesystem-lustreconfiguration-weeklymaintenancestarttime",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::FSx::FileSystem.SelfManagedActiveDirectoryConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html",
    "Properties": {
      "DnsIps": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-dnsips",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-domainname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "FileSystemAdministratorsGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-filesystemadministratorsgroup",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "OrganizationalUnitDistinguishedName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-organizationalunitdistinguishedname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-password",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration-username",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::FSx::FileSystem.WindowsConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html",
    "Properties": {
      "ActiveDirectoryId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-activedirectoryid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "AutomaticBackupRetentionDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-automaticbackupretentiondays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CopyTagsToBackups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-copytagstobackups",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DailyAutomaticBackupStartTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-dailyautomaticbackupstarttime",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeploymentType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-deploymenttype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PreferredSubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-preferredsubnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SelfManagedActiveDirectoryConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-selfmanagedactivedirectoryconfiguration",
        "Required": false,
        "Type": "SelfManagedActiveDirectoryConfiguration",
        "UpdateType": "Mutable"
      },
      "ThroughputCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-throughputcapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "WeeklyMaintenanceStartTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fsx-filesystem-windowsconfiguration.html#cfn-fsx-filesystem-windowsconfiguration-weeklymaintenancestarttime",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "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::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"
      },
      "ObjectVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-build-storagelocation.html#cfn-gamelift-build-object-verison",
        "PrimitiveType": "String",
        "Required": false,
        "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::GameLift::Fleet.CertificateConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-certificateconfiguration.html",
    "Properties": {
      "CertificateType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-certificateconfiguration.html#cfn-gamelift-fleet-certificateconfiguration-certificatetype",
        "PrimitiveType": "String",
        "Required": true,
        "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::GameLift::Fleet.ResourceCreationLimitPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-resourcecreationlimitpolicy.html",
    "Properties": {
      "NewGameSessionsPerCreator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-resourcecreationlimitpolicy.html#cfn-gamelift-fleet-resourcecreationlimitpolicy-newgamesessionspercreator",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PolicyPeriodInMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-resourcecreationlimitpolicy.html#cfn-gamelift-fleet-resourcecreationlimitpolicy-policyperiodinminutes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GameLift::Fleet.RuntimeConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html",
    "Properties": {
      "GameSessionActivationTimeoutSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-gamesessionactivationtimeoutseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxConcurrentGameSessionActivations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-maxconcurrentgamesessionactivations",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ServerProcesses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-runtimeconfiguration.html#cfn-gamelift-fleet-runtimeconfiguration-serverprocesses",
        "DuplicatesAllowed": false,
        "ItemType": "ServerProcess",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GameLift::Fleet.ServerProcess": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html",
    "Properties": {
      "ConcurrentExecutions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html#cfn-gamelift-fleet-serverprocess-concurrentexecutions",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "LaunchPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html#cfn-gamelift-fleet-serverprocess-launchpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-fleet-serverprocess.html#cfn-gamelift-fleet-serverprocess-parameters",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GameLift::GameSessionQueue.Destination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-destination.html",
    "Properties": {
      "DestinationArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-destination.html#cfn-gamelift-gamesessionqueue-destination-destinationarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GameLift::GameSessionQueue.PlayerLatencyPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-playerlatencypolicy.html",
    "Properties": {
      "MaximumIndividualPlayerLatencyMilliseconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-playerlatencypolicy.html#cfn-gamelift-gamesessionqueue-playerlatencypolicy-maximumindividualplayerlatencymilliseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PolicyDurationSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-gamesessionqueue-playerlatencypolicy.html#cfn-gamelift-gamesessionqueue-playerlatencypolicy-policydurationseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GameLift::MatchmakingConfiguration.GameProperty": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-matchmakingconfiguration-gameproperty.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-matchmakingconfiguration-gameproperty.html#cfn-gamelift-matchmakingconfiguration-gameproperty-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-matchmakingconfiguration-gameproperty.html#cfn-gamelift-matchmakingconfiguration-gameproperty-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GameLift::Script.S3Location": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html#cfn-gamelift-script-s3location-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html#cfn-gamelift-script-s3location-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ObjectVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html#cfn-gamelift-script-s3location-objectversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-gamelift-script-s3location.html#cfn-gamelift-script-s3location-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Classifier.CsvClassifier": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html",
    "Properties": {
      "AllowSingleColumn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-allowsinglecolumn",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ContainsHeader": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-containsheader",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Delimiter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-delimiter",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DisableValueTrimming": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-disablevaluetrimming",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Header": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-header",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "QuoteSymbol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-csvclassifier.html#cfn-glue-classifier-csvclassifier-quotesymbol",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Classifier.GrokClassifier": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html",
    "Properties": {
      "Classification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-classification",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "CustomPatterns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-custompatterns",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GrokPattern": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-grokpattern",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-grokclassifier.html#cfn-glue-classifier-grokclassifier-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Glue::Classifier.JsonClassifier": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html",
    "Properties": {
      "JsonPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html#cfn-glue-classifier-jsonclassifier-jsonpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-jsonclassifier.html#cfn-glue-classifier-jsonclassifier-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Glue::Classifier.XMLClassifier": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html",
    "Properties": {
      "Classification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html#cfn-glue-classifier-xmlclassifier-classification",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html#cfn-glue-classifier-xmlclassifier-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RowTag": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-classifier-xmlclassifier.html#cfn-glue-classifier-xmlclassifier-rowtag",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Connection.ConnectionInput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html",
    "Properties": {
      "ConnectionProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectionproperties",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ConnectionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectiontype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MatchCriteria": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-matchcriteria",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PhysicalConnectionRequirements": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-physicalconnectionrequirements",
        "Required": false,
        "Type": "PhysicalConnectionRequirements",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Connection.PhysicalConnectionRequirements": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html",
    "Properties": {
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html#cfn-glue-connection-physicalconnectionrequirements-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecurityGroupIdList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html#cfn-glue-connection-physicalconnectionrequirements-securitygroupidlist",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-physicalconnectionrequirements.html#cfn-glue-connection-physicalconnectionrequirements-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Crawler.CatalogTarget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html",
    "Properties": {
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-databasename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-catalogtarget.html#cfn-glue-crawler-catalogtarget-tables",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Crawler.DynamoDBTarget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html",
    "Properties": {
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-dynamodbtarget.html#cfn-glue-crawler-dynamodbtarget-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Crawler.JdbcTarget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html",
    "Properties": {
      "ConnectionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-connectionname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Exclusions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-exclusions",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-jdbctarget.html#cfn-glue-crawler-jdbctarget-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Crawler.S3Target": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html",
    "Properties": {
      "Exclusions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-exclusions",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-s3target.html#cfn-glue-crawler-s3target-path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Crawler.Schedule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schedule.html",
    "Properties": {
      "ScheduleExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schedule.html#cfn-glue-crawler-schedule-scheduleexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Crawler.SchemaChangePolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html",
    "Properties": {
      "DeleteBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html#cfn-glue-crawler-schemachangepolicy-deletebehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UpdateBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-schemachangepolicy.html#cfn-glue-crawler-schemachangepolicy-updatebehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Crawler.Targets": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html",
    "Properties": {
      "CatalogTargets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-catalogtargets",
        "ItemType": "CatalogTarget",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DynamoDBTargets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-dynamodbtargets",
        "ItemType": "DynamoDBTarget",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "JdbcTargets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-jdbctargets",
        "ItemType": "JdbcTarget",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "S3Targets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-crawler-targets.html#cfn-glue-crawler-targets-s3targets",
        "ItemType": "S3Target",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::DataCatalogEncryptionSettings.ConnectionPasswordEncryption": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption.html",
    "Properties": {
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption.html#cfn-glue-datacatalogencryptionsettings-connectionpasswordencryption-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReturnConnectionPasswordEncrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-connectionpasswordencryption.html#cfn-glue-datacatalogencryptionsettings-connectionpasswordencryption-returnconnectionpasswordencrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::DataCatalogEncryptionSettings.DataCatalogEncryptionSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings.html",
    "Properties": {
      "ConnectionPasswordEncryption": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings.html#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-connectionpasswordencryption",
        "Required": false,
        "Type": "ConnectionPasswordEncryption",
        "UpdateType": "Mutable"
      },
      "EncryptionAtRest": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-datacatalogencryptionsettings.html#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings-encryptionatrest",
        "Required": false,
        "Type": "EncryptionAtRest",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::DataCatalogEncryptionSettings.EncryptionAtRest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-encryptionatrest.html",
    "Properties": {
      "CatalogEncryptionMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-encryptionatrest.html#cfn-glue-datacatalogencryptionsettings-encryptionatrest-catalogencryptionmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SseAwsKmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-datacatalogencryptionsettings-encryptionatrest.html#cfn-glue-datacatalogencryptionsettings-encryptionatrest-sseawskmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Database.DatabaseInput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LocationUri": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-locationuri",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html#cfn-glue-database-databaseinput-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Job.ConnectionsList": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-connectionslist.html",
    "Properties": {
      "Connections": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-connectionslist.html#cfn-glue-job-connectionslist-connections",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Job.ExecutionProperty": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-executionproperty.html",
    "Properties": {
      "MaxConcurrentRuns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-executionproperty.html#cfn-glue-job-executionproperty-maxconcurrentruns",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Job.JobCommand": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html#cfn-glue-job-jobcommand-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PythonVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html#cfn-glue-job-jobcommand-pythonversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScriptLocation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-jobcommand.html#cfn-glue-job-jobcommand-scriptlocation",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Job.NotificationProperty": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-notificationproperty.html",
    "Properties": {
      "NotifyDelayAfter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-job-notificationproperty.html#cfn-glue-job-notificationproperty-notifydelayafter",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::MLTransform.FindMatchesParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html",
    "Properties": {
      "AccuracyCostTradeoff": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-accuracycosttradeoff",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnforceProvidedLabels": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-enforceprovidedlabels",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrecisionRecallTradeoff": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-precisionrecalltradeoff",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrimaryKeyColumnName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters-findmatchesparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters-primarykeycolumnname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Glue::MLTransform.GlueTables": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html",
    "Properties": {
      "CatalogId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-catalogid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ConnectionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-connectionname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-databasename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables-gluetables.html#cfn-glue-mltransform-inputrecordtables-gluetables-tablename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::MLTransform.InputRecordTables": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables.html",
    "Properties": {
      "GlueTables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-inputrecordtables.html#cfn-glue-mltransform-inputrecordtables-gluetables",
        "ItemType": "GlueTables",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::MLTransform.TransformParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters.html",
    "Properties": {
      "FindMatchesParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters.html#cfn-glue-mltransform-transformparameters-findmatchesparameters",
        "Required": false,
        "Type": "FindMatchesParameters",
        "UpdateType": "Mutable"
      },
      "TransformType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-mltransform-transformparameters.html#cfn-glue-mltransform-transformparameters-transformtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Partition.Column": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-column.html",
    "Properties": {
      "Comment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-column.html#cfn-glue-partition-column-comment",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-column.html#cfn-glue-partition-column-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-column.html#cfn-glue-partition-column-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Partition.Order": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-order.html",
    "Properties": {
      "Column": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-order.html#cfn-glue-partition-order-column",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SortOrder": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-order.html#cfn-glue-partition-order-sortorder",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Partition.PartitionInput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html",
    "Properties": {
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html#cfn-glue-partition-partitioninput-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StorageDescriptor": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html#cfn-glue-partition-partitioninput-storagedescriptor",
        "Required": false,
        "Type": "StorageDescriptor",
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-partitioninput.html#cfn-glue-partition-partitioninput-values",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Glue::Partition.SerdeInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html#cfn-glue-partition-serdeinfo-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html#cfn-glue-partition-serdeinfo-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SerializationLibrary": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-serdeinfo.html#cfn-glue-partition-serdeinfo-serializationlibrary",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Partition.SkewedInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html",
    "Properties": {
      "SkewedColumnNames": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html#cfn-glue-partition-skewedinfo-skewedcolumnnames",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SkewedColumnValueLocationMaps": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html#cfn-glue-partition-skewedinfo-skewedcolumnvaluelocationmaps",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SkewedColumnValues": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-skewedinfo.html#cfn-glue-partition-skewedinfo-skewedcolumnvalues",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Partition.StorageDescriptor": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html",
    "Properties": {
      "BucketColumns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-bucketcolumns",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Columns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-columns",
        "ItemType": "Column",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Compressed": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-compressed",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InputFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-inputformat",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-location",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NumberOfBuckets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-numberofbuckets",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OutputFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-outputformat",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SerdeInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-serdeinfo",
        "Required": false,
        "Type": "SerdeInfo",
        "UpdateType": "Mutable"
      },
      "SkewedInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-skewedinfo",
        "Required": false,
        "Type": "SkewedInfo",
        "UpdateType": "Mutable"
      },
      "SortColumns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-sortcolumns",
        "ItemType": "Order",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "StoredAsSubDirectories": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-partition-storagedescriptor.html#cfn-glue-partition-storagedescriptor-storedassubdirectories",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::SecurityConfiguration.CloudWatchEncryption": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html",
    "Properties": {
      "CloudWatchEncryptionMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html#cfn-glue-securityconfiguration-cloudwatchencryption-cloudwatchencryptionmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KmsKeyArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-cloudwatchencryption.html#cfn-glue-securityconfiguration-cloudwatchencryption-kmskeyarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::SecurityConfiguration.EncryptionConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html",
    "Properties": {
      "CloudWatchEncryption": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-cloudwatchencryption",
        "Required": false,
        "Type": "CloudWatchEncryption",
        "UpdateType": "Mutable"
      },
      "JobBookmarksEncryption": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-jobbookmarksencryption",
        "Required": false,
        "Type": "JobBookmarksEncryption",
        "UpdateType": "Mutable"
      },
      "S3Encryptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-encryptionconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration-s3encryptions",
        "Required": false,
        "Type": "S3Encryptions",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::SecurityConfiguration.JobBookmarksEncryption": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-jobbookmarksencryption.html",
    "Properties": {
      "JobBookmarksEncryptionMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-jobbookmarksencryption.html#cfn-glue-securityconfiguration-jobbookmarksencryption-jobbookmarksencryptionmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KmsKeyArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-jobbookmarksencryption.html#cfn-glue-securityconfiguration-jobbookmarksencryption-kmskeyarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::SecurityConfiguration.S3Encryption": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryption.html",
    "Properties": {
      "KmsKeyArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryption.html#cfn-glue-securityconfiguration-s3encryption-kmskeyarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "S3EncryptionMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryption.html#cfn-glue-securityconfiguration-s3encryption-s3encryptionmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::SecurityConfiguration.S3Encryptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-securityconfiguration-s3encryptions.html",
    "ItemType": "S3Encryption",
    "Required": false,
    "Type": "List",
    "UpdateType": "Mutable"
  },
  "AWS::Glue::Table.Column": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html",
    "Properties": {
      "Comment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-comment",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-column.html#cfn-glue-table-column-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Table.Order": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-order.html",
    "Properties": {
      "Column": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-order.html#cfn-glue-table-order-column",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SortOrder": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-order.html#cfn-glue-table-order-sortorder",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Table.SerdeInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html#cfn-glue-table-serdeinfo-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html#cfn-glue-table-serdeinfo-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SerializationLibrary": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-serdeinfo.html#cfn-glue-table-serdeinfo-serializationlibrary",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Table.SkewedInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html",
    "Properties": {
      "SkewedColumnNames": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html#cfn-glue-table-skewedinfo-skewedcolumnnames",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SkewedColumnValueLocationMaps": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html#cfn-glue-table-skewedinfo-skewedcolumnvaluelocationmaps",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SkewedColumnValues": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-skewedinfo.html#cfn-glue-table-skewedinfo-skewedcolumnvalues",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Table.StorageDescriptor": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html",
    "Properties": {
      "BucketColumns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-bucketcolumns",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Columns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-columns",
        "ItemType": "Column",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Compressed": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-compressed",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InputFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-inputformat",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-location",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NumberOfBuckets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-numberofbuckets",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OutputFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-outputformat",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SerdeInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-serdeinfo",
        "Required": false,
        "Type": "SerdeInfo",
        "UpdateType": "Mutable"
      },
      "SkewedInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-skewedinfo",
        "Required": false,
        "Type": "SkewedInfo",
        "UpdateType": "Mutable"
      },
      "SortColumns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-sortcolumns",
        "ItemType": "Order",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "StoredAsSubDirectories": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html#cfn-glue-table-storagedescriptor-storedassubdirectories",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Table.TableInput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Owner": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-owner",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PartitionKeys": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-partitionkeys",
        "ItemType": "Column",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Retention": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-retention",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StorageDescriptor": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-storagedescriptor",
        "Required": false,
        "Type": "StorageDescriptor",
        "UpdateType": "Mutable"
      },
      "TableType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-tabletype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ViewExpandedText": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-viewexpandedtext",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ViewOriginalText": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-vieworiginaltext",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Trigger.Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html",
    "Properties": {
      "Arguments": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-arguments",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CrawlerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-crawlername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "JobName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-jobname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NotificationProperty": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-notificationproperty",
        "Required": false,
        "Type": "NotificationProperty",
        "UpdateType": "Mutable"
      },
      "SecurityConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-securityconfiguration",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Timeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-action.html#cfn-glue-trigger-action-timeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Trigger.Condition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html",
    "Properties": {
      "CrawlState": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-crawlstate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CrawlerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-crawlername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "JobName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-jobname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LogicalOperator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-logicaloperator",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "State": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-condition.html#cfn-glue-trigger-condition-state",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Trigger.NotificationProperty": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html",
    "Properties": {
      "NotifyDelayAfter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-notificationproperty.html#cfn-glue-trigger-notificationproperty-notifydelayafter",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Trigger.Predicate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html",
    "Properties": {
      "Conditions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html#cfn-glue-trigger-predicate-conditions",
        "ItemType": "Condition",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Logical": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-trigger-predicate.html#cfn-glue-trigger-predicate-logical",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Greengrass::ConnectorDefinition.Connector": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html",
    "Properties": {
      "ConnectorArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-connectorarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connector.html#cfn-greengrass-connectordefinition-connector-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ConnectorDefinition.ConnectorDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connectordefinitionversion.html",
    "Properties": {
      "Connectors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinition-connectordefinitionversion.html#cfn-greengrass-connectordefinition-connectordefinitionversion-connectors",
        "ItemType": "Connector",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ConnectorDefinitionVersion.Connector": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html",
    "Properties": {
      "ConnectorArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-connectorarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-connectordefinitionversion-connector.html#cfn-greengrass-connectordefinitionversion-connector-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::CoreDefinition.Core": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html",
    "Properties": {
      "CertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-certificatearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SyncShadow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-syncshadow",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ThingArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-core.html#cfn-greengrass-coredefinition-core-thingarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::CoreDefinition.CoreDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-coredefinitionversion.html",
    "Properties": {
      "Cores": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinition-coredefinitionversion.html#cfn-greengrass-coredefinition-coredefinitionversion-cores",
        "ItemType": "Core",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::CoreDefinitionVersion.Core": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html",
    "Properties": {
      "CertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-certificatearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SyncShadow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-syncshadow",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ThingArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-coredefinitionversion-core.html#cfn-greengrass-coredefinitionversion-core-thingarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::DeviceDefinition.Device": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html",
    "Properties": {
      "CertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-certificatearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SyncShadow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-syncshadow",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ThingArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-device.html#cfn-greengrass-devicedefinition-device-thingarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::DeviceDefinition.DeviceDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-devicedefinitionversion.html",
    "Properties": {
      "Devices": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinition-devicedefinitionversion.html#cfn-greengrass-devicedefinition-devicedefinitionversion-devices",
        "ItemType": "Device",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::DeviceDefinitionVersion.Device": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html",
    "Properties": {
      "CertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-certificatearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SyncShadow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-syncshadow",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ThingArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-devicedefinitionversion-device.html#cfn-greengrass-devicedefinitionversion-device-thingarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinition.DefaultConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-defaultconfig.html",
    "Properties": {
      "Execution": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-defaultconfig.html#cfn-greengrass-functiondefinition-defaultconfig-execution",
        "Required": true,
        "Type": "Execution",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinition.Environment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html",
    "Properties": {
      "AccessSysfs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-accesssysfs",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Execution": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-execution",
        "Required": false,
        "Type": "Execution",
        "UpdateType": "Immutable"
      },
      "ResourceAccessPolicies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-resourceaccesspolicies",
        "ItemType": "ResourceAccessPolicy",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Variables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-environment.html#cfn-greengrass-functiondefinition-environment-variables",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinition.Execution": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html",
    "Properties": {
      "IsolationMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html#cfn-greengrass-functiondefinition-execution-isolationmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RunAs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-execution.html#cfn-greengrass-functiondefinition-execution-runas",
        "Required": false,
        "Type": "RunAs",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinition.Function": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html",
    "Properties": {
      "FunctionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html#cfn-greengrass-functiondefinition-function-functionarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "FunctionConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html#cfn-greengrass-functiondefinition-function-functionconfiguration",
        "Required": true,
        "Type": "FunctionConfiguration",
        "UpdateType": "Immutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-function.html#cfn-greengrass-functiondefinition-function-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinition.FunctionConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html",
    "Properties": {
      "EncodingType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-encodingtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Environment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-environment",
        "Required": false,
        "Type": "Environment",
        "UpdateType": "Immutable"
      },
      "ExecArgs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-execargs",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Executable": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-executable",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MemorySize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-memorysize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Pinned": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-pinned",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Timeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functionconfiguration.html#cfn-greengrass-functiondefinition-functionconfiguration-timeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinition.FunctionDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html",
    "Properties": {
      "DefaultConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html#cfn-greengrass-functiondefinition-functiondefinitionversion-defaultconfig",
        "Required": false,
        "Type": "DefaultConfig",
        "UpdateType": "Immutable"
      },
      "Functions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-functiondefinitionversion.html#cfn-greengrass-functiondefinition-functiondefinitionversion-functions",
        "ItemType": "Function",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinition.ResourceAccessPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html",
    "Properties": {
      "Permission": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html#cfn-greengrass-functiondefinition-resourceaccesspolicy-permission",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ResourceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-resourceaccesspolicy.html#cfn-greengrass-functiondefinition-resourceaccesspolicy-resourceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinition.RunAs": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html",
    "Properties": {
      "Gid": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html#cfn-greengrass-functiondefinition-runas-gid",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Uid": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinition-runas.html#cfn-greengrass-functiondefinition-runas-uid",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinitionVersion.DefaultConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html",
    "Properties": {
      "Execution": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-defaultconfig.html#cfn-greengrass-functiondefinitionversion-defaultconfig-execution",
        "Required": true,
        "Type": "Execution",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinitionVersion.Environment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html",
    "Properties": {
      "AccessSysfs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-accesssysfs",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Execution": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-execution",
        "Required": false,
        "Type": "Execution",
        "UpdateType": "Immutable"
      },
      "ResourceAccessPolicies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-resourceaccesspolicies",
        "ItemType": "ResourceAccessPolicy",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Variables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-environment.html#cfn-greengrass-functiondefinitionversion-environment-variables",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinitionVersion.Execution": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html",
    "Properties": {
      "IsolationMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html#cfn-greengrass-functiondefinitionversion-execution-isolationmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RunAs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-execution.html#cfn-greengrass-functiondefinitionversion-execution-runas",
        "Required": false,
        "Type": "RunAs",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinitionVersion.Function": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html",
    "Properties": {
      "FunctionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html#cfn-greengrass-functiondefinitionversion-function-functionarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "FunctionConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html#cfn-greengrass-functiondefinitionversion-function-functionconfiguration",
        "Required": true,
        "Type": "FunctionConfiguration",
        "UpdateType": "Immutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-function.html#cfn-greengrass-functiondefinitionversion-function-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinitionVersion.FunctionConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html",
    "Properties": {
      "EncodingType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-encodingtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Environment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-environment",
        "Required": false,
        "Type": "Environment",
        "UpdateType": "Immutable"
      },
      "ExecArgs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-execargs",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Executable": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-executable",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MemorySize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-memorysize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Pinned": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-pinned",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Timeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-functionconfiguration.html#cfn-greengrass-functiondefinitionversion-functionconfiguration-timeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinitionVersion.ResourceAccessPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html",
    "Properties": {
      "Permission": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html#cfn-greengrass-functiondefinitionversion-resourceaccesspolicy-permission",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ResourceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-resourceaccesspolicy.html#cfn-greengrass-functiondefinitionversion-resourceaccesspolicy-resourceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinitionVersion.RunAs": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html",
    "Properties": {
      "Gid": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html#cfn-greengrass-functiondefinitionversion-runas-gid",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Uid": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-functiondefinitionversion-runas.html#cfn-greengrass-functiondefinitionversion-runas-uid",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::Group.GroupVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html",
    "Properties": {
      "ConnectorDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-connectordefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "CoreDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-coredefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DeviceDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-devicedefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "FunctionDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-functiondefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LoggerDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-loggerdefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ResourceDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-resourcedefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SubscriptionDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-group-groupversion.html#cfn-greengrass-group-groupversion-subscriptiondefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::LoggerDefinition.Logger": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html",
    "Properties": {
      "Component": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-component",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Level": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-level",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Space": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-space",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-logger.html#cfn-greengrass-loggerdefinition-logger-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::LoggerDefinition.LoggerDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-loggerdefinitionversion.html",
    "Properties": {
      "Loggers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinition-loggerdefinitionversion.html#cfn-greengrass-loggerdefinition-loggerdefinitionversion-loggers",
        "ItemType": "Logger",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::LoggerDefinitionVersion.Logger": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html",
    "Properties": {
      "Component": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-component",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Level": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-level",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Space": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-space",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-loggerdefinitionversion-logger.html#cfn-greengrass-loggerdefinitionversion-logger-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinition.GroupOwnerSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-groupownersetting.html",
    "Properties": {
      "AutoAddGroupOwner": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-groupownersetting.html#cfn-greengrass-resourcedefinition-groupownersetting-autoaddgroupowner",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "GroupOwner": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-groupownersetting.html#cfn-greengrass-resourcedefinition-groupownersetting-groupowner",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinition.LocalDeviceResourceData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localdeviceresourcedata.html",
    "Properties": {
      "GroupOwnerSetting": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localdeviceresourcedata.html#cfn-greengrass-resourcedefinition-localdeviceresourcedata-groupownersetting",
        "Required": false,
        "Type": "GroupOwnerSetting",
        "UpdateType": "Immutable"
      },
      "SourcePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localdeviceresourcedata.html#cfn-greengrass-resourcedefinition-localdeviceresourcedata-sourcepath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinition.LocalVolumeResourceData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html",
    "Properties": {
      "DestinationPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html#cfn-greengrass-resourcedefinition-localvolumeresourcedata-destinationpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "GroupOwnerSetting": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html#cfn-greengrass-resourcedefinition-localvolumeresourcedata-groupownersetting",
        "Required": false,
        "Type": "GroupOwnerSetting",
        "UpdateType": "Immutable"
      },
      "SourcePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-localvolumeresourcedata.html#cfn-greengrass-resourcedefinition-localvolumeresourcedata-sourcepath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinition.ResourceDataContainer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html",
    "Properties": {
      "LocalDeviceResourceData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-localdeviceresourcedata",
        "Required": false,
        "Type": "LocalDeviceResourceData",
        "UpdateType": "Immutable"
      },
      "LocalVolumeResourceData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-localvolumeresourcedata",
        "Required": false,
        "Type": "LocalVolumeResourceData",
        "UpdateType": "Immutable"
      },
      "S3MachineLearningModelResourceData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-s3machinelearningmodelresourcedata",
        "Required": false,
        "Type": "S3MachineLearningModelResourceData",
        "UpdateType": "Immutable"
      },
      "SageMakerMachineLearningModelResourceData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-sagemakermachinelearningmodelresourcedata",
        "Required": false,
        "Type": "SageMakerMachineLearningModelResourceData",
        "UpdateType": "Immutable"
      },
      "SecretsManagerSecretResourceData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedatacontainer.html#cfn-greengrass-resourcedefinition-resourcedatacontainer-secretsmanagersecretresourcedata",
        "Required": false,
        "Type": "SecretsManagerSecretResourceData",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinition.ResourceDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedefinitionversion.html",
    "Properties": {
      "Resources": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourcedefinitionversion.html#cfn-greengrass-resourcedefinition-resourcedefinitionversion-resources",
        "ItemType": "ResourceInstance",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinition.ResourceInstance": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html#cfn-greengrass-resourcedefinition-resourceinstance-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html#cfn-greengrass-resourcedefinition-resourceinstance-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ResourceDataContainer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html#cfn-greengrass-resourcedefinition-resourceinstance-resourcedatacontainer",
        "Required": true,
        "Type": "ResourceDataContainer",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinition.S3MachineLearningModelResourceData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html",
    "Properties": {
      "DestinationPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-s3machinelearningmodelresourcedata-destinationpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "S3Uri": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-s3machinelearningmodelresourcedata-s3uri",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinition.SageMakerMachineLearningModelResourceData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html",
    "Properties": {
      "DestinationPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata-destinationpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SageMakerJobArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinition-sagemakermachinelearningmodelresourcedata-sagemakerjobarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinition.SecretsManagerSecretResourceData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-secretsmanagersecretresourcedata.html",
    "Properties": {
      "ARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinition-secretsmanagersecretresourcedata-arn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "AdditionalStagingLabelsToDownload": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinition-secretsmanagersecretresourcedata-additionalstaginglabelstodownload",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinitionVersion.GroupOwnerSetting": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html",
    "Properties": {
      "AutoAddGroupOwner": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html#cfn-greengrass-resourcedefinitionversion-groupownersetting-autoaddgroupowner",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "GroupOwner": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-groupownersetting.html#cfn-greengrass-resourcedefinitionversion-groupownersetting-groupowner",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinitionVersion.LocalDeviceResourceData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html",
    "Properties": {
      "GroupOwnerSetting": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html#cfn-greengrass-resourcedefinitionversion-localdeviceresourcedata-groupownersetting",
        "Required": false,
        "Type": "GroupOwnerSetting",
        "UpdateType": "Immutable"
      },
      "SourcePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localdeviceresourcedata.html#cfn-greengrass-resourcedefinitionversion-localdeviceresourcedata-sourcepath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinitionVersion.LocalVolumeResourceData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html",
    "Properties": {
      "DestinationPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-destinationpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "GroupOwnerSetting": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-groupownersetting",
        "Required": false,
        "Type": "GroupOwnerSetting",
        "UpdateType": "Immutable"
      },
      "SourcePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-localvolumeresourcedata.html#cfn-greengrass-resourcedefinitionversion-localvolumeresourcedata-sourcepath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinitionVersion.ResourceDataContainer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html",
    "Properties": {
      "LocalDeviceResourceData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-localdeviceresourcedata",
        "Required": false,
        "Type": "LocalDeviceResourceData",
        "UpdateType": "Immutable"
      },
      "LocalVolumeResourceData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-localvolumeresourcedata",
        "Required": false,
        "Type": "LocalVolumeResourceData",
        "UpdateType": "Immutable"
      },
      "S3MachineLearningModelResourceData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-s3machinelearningmodelresourcedata",
        "Required": false,
        "Type": "S3MachineLearningModelResourceData",
        "UpdateType": "Immutable"
      },
      "SageMakerMachineLearningModelResourceData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-sagemakermachinelearningmodelresourcedata",
        "Required": false,
        "Type": "SageMakerMachineLearningModelResourceData",
        "UpdateType": "Immutable"
      },
      "SecretsManagerSecretResourceData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourcedatacontainer.html#cfn-greengrass-resourcedefinitionversion-resourcedatacontainer-secretsmanagersecretresourcedata",
        "Required": false,
        "Type": "SecretsManagerSecretResourceData",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinitionVersion.ResourceInstance": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html#cfn-greengrass-resourcedefinitionversion-resourceinstance-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html#cfn-greengrass-resourcedefinitionversion-resourceinstance-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ResourceDataContainer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-resourceinstance.html#cfn-greengrass-resourcedefinitionversion-resourceinstance-resourcedatacontainer",
        "Required": true,
        "Type": "ResourceDataContainer",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinitionVersion.S3MachineLearningModelResourceData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html",
    "Properties": {
      "DestinationPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-destinationpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "S3Uri": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-s3machinelearningmodelresourcedata-s3uri",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinitionVersion.SageMakerMachineLearningModelResourceData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html",
    "Properties": {
      "DestinationPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-destinationpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SageMakerJobArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata.html#cfn-greengrass-resourcedefinitionversion-sagemakermachinelearningmodelresourcedata-sagemakerjobarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinitionVersion.SecretsManagerSecretResourceData": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html",
    "Properties": {
      "ARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata-arn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "AdditionalStagingLabelsToDownload": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata.html#cfn-greengrass-resourcedefinitionversion-secretsmanagersecretresourcedata-additionalstaginglabelstodownload",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::SubscriptionDefinition.Subscription": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Source": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-source",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Subject": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-subject",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Target": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscription.html#cfn-greengrass-subscriptiondefinition-subscription-target",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::SubscriptionDefinition.SubscriptionDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscriptiondefinitionversion.html",
    "Properties": {
      "Subscriptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinition-subscriptiondefinitionversion.html#cfn-greengrass-subscriptiondefinition-subscriptiondefinitionversion-subscriptions",
        "ItemType": "Subscription",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::SubscriptionDefinitionVersion.Subscription": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Source": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-source",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Subject": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-subject",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Target": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-subscriptiondefinitionversion-subscription.html#cfn-greengrass-subscriptiondefinitionversion-subscription-target",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::GuardDuty::Filter.Condition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html",
    "Properties": {
      "Eq": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-eq",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Gte": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-gte",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Lt": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-lt",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Lte": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-lte",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Neq": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-condition.html#cfn-guardduty-filter-condition-neq",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GuardDuty::Filter.FindingCriteria": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-findingcriteria.html",
    "Properties": {
      "Criterion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-findingcriteria.html#cfn-guardduty-filter-findingcriteria-criterion",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ItemType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-guardduty-filter-findingcriteria.html#cfn-guardduty-filter-findingcriteria-itemtype",
        "Required": false,
        "Type": "Condition",
        "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::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": 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::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::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": 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::IoT1Click::Project.DeviceTemplate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-devicetemplate.html",
    "Properties": {
      "CallbackOverrides": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-devicetemplate.html#cfn-iot1click-project-devicetemplate-callbackoverrides",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeviceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-devicetemplate.html#cfn-iot1click-project-devicetemplate-devicetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT1Click::Project.PlacementTemplate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-placementtemplate.html",
    "Properties": {
      "DefaultAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-placementtemplate.html#cfn-iot1click-project-placementtemplate-defaultattributes",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeviceTemplates": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot1click-project-placementtemplate.html#cfn-iot1click-project-placementtemplate-devicetemplates",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::IoT::TopicRule.Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html",
    "Properties": {
      "CloudwatchAlarm": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-cloudwatchalarm",
        "Required": false,
        "Type": "CloudwatchAlarmAction",
        "UpdateType": "Mutable"
      },
      "CloudwatchMetric": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-cloudwatchmetric",
        "Required": false,
        "Type": "CloudwatchMetricAction",
        "UpdateType": "Mutable"
      },
      "DynamoDB": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-dynamodb",
        "Required": false,
        "Type": "DynamoDBAction",
        "UpdateType": "Mutable"
      },
      "DynamoDBv2": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-dynamodbv2",
        "Required": false,
        "Type": "DynamoDBv2Action",
        "UpdateType": "Mutable"
      },
      "Elasticsearch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-elasticsearch",
        "Required": false,
        "Type": "ElasticsearchAction",
        "UpdateType": "Mutable"
      },
      "Firehose": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-firehose",
        "Required": false,
        "Type": "FirehoseAction",
        "UpdateType": "Mutable"
      },
      "IotAnalytics": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-iotanalytics",
        "Required": false,
        "Type": "IotAnalyticsAction",
        "UpdateType": "Mutable"
      },
      "Kinesis": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-kinesis",
        "Required": false,
        "Type": "KinesisAction",
        "UpdateType": "Mutable"
      },
      "Lambda": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-lambda",
        "Required": false,
        "Type": "LambdaAction",
        "UpdateType": "Mutable"
      },
      "Republish": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-republish",
        "Required": false,
        "Type": "RepublishAction",
        "UpdateType": "Mutable"
      },
      "S3": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-s3",
        "Required": false,
        "Type": "S3Action",
        "UpdateType": "Mutable"
      },
      "Sns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-sns",
        "Required": false,
        "Type": "SnsAction",
        "UpdateType": "Mutable"
      },
      "Sqs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-sqs",
        "Required": false,
        "Type": "SqsAction",
        "UpdateType": "Mutable"
      },
      "StepFunctions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-action.html#cfn-iot-topicrule-action-stepfunctions",
        "Required": false,
        "Type": "StepFunctionsAction",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.CloudwatchAlarmAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchalarmaction.html",
    "Properties": {
      "AlarmName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchalarmaction.html#cfn-iot-topicrule-cloudwatchalarmaction-alarmname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchalarmaction.html#cfn-iot-topicrule-cloudwatchalarmaction-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StateReason": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchalarmaction.html#cfn-iot-topicrule-cloudwatchalarmaction-statereason",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StateValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchalarmaction.html#cfn-iot-topicrule-cloudwatchalarmaction-statevalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.CloudwatchMetricAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchmetricaction.html",
    "Properties": {
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchmetricaction.html#cfn-iot-topicrule-cloudwatchmetricaction-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MetricNamespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchmetricaction.html#cfn-iot-topicrule-cloudwatchmetricaction-metricnamespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MetricTimestamp": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchmetricaction.html#cfn-iot-topicrule-cloudwatchmetricaction-metrictimestamp",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricUnit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchmetricaction.html#cfn-iot-topicrule-cloudwatchmetricaction-metricunit",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MetricValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchmetricaction.html#cfn-iot-topicrule-cloudwatchmetricaction-metricvalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-cloudwatchmetricaction.html#cfn-iot-topicrule-cloudwatchmetricaction-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.DynamoDBAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html",
    "Properties": {
      "HashKeyField": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-hashkeyfield",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "HashKeyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-hashkeytype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HashKeyValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-hashkeyvalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PayloadField": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-payloadfield",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RangeKeyField": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-rangekeyfield",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RangeKeyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-rangekeytype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RangeKeyValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-rangekeyvalue",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbaction.html#cfn-iot-topicrule-dynamodbaction-tablename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.DynamoDBv2Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbv2action.html",
    "Properties": {
      "PutItem": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbv2action.html#cfn-iot-topicrule-dynamodbv2action-putitem",
        "Required": false,
        "Type": "PutItemInput",
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-dynamodbv2action.html#cfn-iot-topicrule-dynamodbv2action-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.ElasticsearchAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-elasticsearchaction.html",
    "Properties": {
      "Endpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-elasticsearchaction.html#cfn-iot-topicrule-elasticsearchaction-endpoint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-elasticsearchaction.html#cfn-iot-topicrule-elasticsearchaction-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Index": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-elasticsearchaction.html#cfn-iot-topicrule-elasticsearchaction-index",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-elasticsearchaction.html#cfn-iot-topicrule-elasticsearchaction-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-elasticsearchaction.html#cfn-iot-topicrule-elasticsearchaction-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.FirehoseAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-firehoseaction.html",
    "Properties": {
      "DeliveryStreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-firehoseaction.html#cfn-iot-topicrule-firehoseaction-deliverystreamname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-firehoseaction.html#cfn-iot-topicrule-firehoseaction-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Separator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-firehoseaction.html#cfn-iot-topicrule-firehoseaction-separator",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.IotAnalyticsAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotanalyticsaction.html",
    "Properties": {
      "ChannelName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotanalyticsaction.html#cfn-iot-topicrule-iotanalyticsaction-channelname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotanalyticsaction.html#cfn-iot-topicrule-iotanalyticsaction-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.KinesisAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kinesisaction.html",
    "Properties": {
      "PartitionKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kinesisaction.html#cfn-iot-topicrule-kinesisaction-partitionkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kinesisaction.html#cfn-iot-topicrule-kinesisaction-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-kinesisaction.html#cfn-iot-topicrule-kinesisaction-streamname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.LambdaAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-lambdaaction.html",
    "Properties": {
      "FunctionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-lambdaaction.html#cfn-iot-topicrule-lambdaaction-functionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.PutItemInput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putiteminput.html",
    "Properties": {
      "TableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putiteminput.html#cfn-iot-topicrule-putiteminput-tablename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.RepublishAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishaction.html",
    "Properties": {
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishaction.html#cfn-iot-topicrule-republishaction-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Topic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-republishaction.html#cfn-iot-topicrule-republishaction-topic",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.S3Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-s3action.html",
    "Properties": {
      "BucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-s3action.html#cfn-iot-topicrule-s3action-bucketname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-s3action.html#cfn-iot-topicrule-s3action-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-s3action.html#cfn-iot-topicrule-s3action-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.SnsAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-snsaction.html",
    "Properties": {
      "MessageFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-snsaction.html#cfn-iot-topicrule-snsaction-messageformat",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-snsaction.html#cfn-iot-topicrule-snsaction-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-snsaction.html#cfn-iot-topicrule-snsaction-targetarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.SqsAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sqsaction.html",
    "Properties": {
      "QueueUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sqsaction.html#cfn-iot-topicrule-sqsaction-queueurl",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sqsaction.html#cfn-iot-topicrule-sqsaction-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "UseBase64": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-sqsaction.html#cfn-iot-topicrule-sqsaction-usebase64",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.StepFunctionsAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-stepfunctionsaction.html",
    "Properties": {
      "ExecutionNamePrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-stepfunctionsaction.html#cfn-iot-topicrule-stepfunctionsaction-executionnameprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-stepfunctionsaction.html#cfn-iot-topicrule-stepfunctionsaction-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StateMachineName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-stepfunctionsaction.html#cfn-iot-topicrule-stepfunctionsaction-statemachinename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT::TopicRule.TopicRulePayload": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html",
    "Properties": {
      "Actions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-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-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-awsiotsqlversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ErrorAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-erroraction",
        "Required": false,
        "Type": "Action",
        "UpdateType": "Mutable"
      },
      "RuleDisabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-ruledisabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Sql": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-sql",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Channel.ChannelStorage": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-channelstorage.html",
    "Properties": {
      "CustomerManagedS3": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-channelstorage.html#cfn-iotanalytics-channel-channelstorage-customermanageds3",
        "Required": false,
        "Type": "CustomerManagedS3",
        "UpdateType": "Mutable"
      },
      "ServiceManagedS3": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-channelstorage.html#cfn-iotanalytics-channel-channelstorage-servicemanageds3",
        "Required": false,
        "Type": "ServiceManagedS3",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Channel.CustomerManagedS3": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-customermanageds3.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-customermanageds3.html#cfn-iotanalytics-channel-customermanageds3-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "KeyPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-customermanageds3.html#cfn-iotanalytics-channel-customermanageds3-keyprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-customermanageds3.html#cfn-iotanalytics-channel-customermanageds3-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Channel.RetentionPeriod": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-retentionperiod.html",
    "Properties": {
      "NumberOfDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-retentionperiod.html#cfn-iotanalytics-channel-retentionperiod-numberofdays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Unlimited": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-retentionperiod.html#cfn-iotanalytics-channel-retentionperiod-unlimited",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Channel.ServiceManagedS3": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-channel-servicemanageds3.html",
    "Properties": {}
  },
  "AWS::IoTAnalytics::Dataset.Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-action.html",
    "Properties": {
      "ActionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-action.html#cfn-iotanalytics-dataset-action-actionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ContainerAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-action.html#cfn-iotanalytics-dataset-action-containeraction",
        "Required": false,
        "Type": "ContainerAction",
        "UpdateType": "Mutable"
      },
      "QueryAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-action.html#cfn-iotanalytics-dataset-action-queryaction",
        "Required": false,
        "Type": "QueryAction",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.ContainerAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html",
    "Properties": {
      "ExecutionRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html#cfn-iotanalytics-dataset-containeraction-executionrolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Image": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html#cfn-iotanalytics-dataset-containeraction-image",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ResourceConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html#cfn-iotanalytics-dataset-containeraction-resourceconfiguration",
        "Required": true,
        "Type": "ResourceConfiguration",
        "UpdateType": "Mutable"
      },
      "Variables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html#cfn-iotanalytics-dataset-containeraction-variables",
        "ItemType": "Variable",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-datasetcontentdeliveryrule.html",
    "Properties": {
      "Destination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-datasetcontentdeliveryrule.html#cfn-iotanalytics-dataset-datasetcontentdeliveryrule-destination",
        "Required": true,
        "Type": "DatasetContentDeliveryRuleDestination",
        "UpdateType": "Mutable"
      },
      "EntryName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-datasetcontentdeliveryrule.html#cfn-iotanalytics-dataset-datasetcontentdeliveryrule-entryname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.DatasetContentDeliveryRuleDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-datasetcontentdeliveryruledestination.html",
    "Properties": {
      "IotEventsDestinationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-datasetcontentdeliveryruledestination.html#cfn-iotanalytics-dataset-datasetcontentdeliveryruledestination-ioteventsdestinationconfiguration",
        "Required": false,
        "Type": "IotEventsDestinationConfiguration",
        "UpdateType": "Mutable"
      },
      "S3DestinationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-datasetcontentdeliveryruledestination.html#cfn-iotanalytics-dataset-datasetcontentdeliveryruledestination-s3destinationconfiguration",
        "Required": false,
        "Type": "S3DestinationConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.DatasetContentVersionValue": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable-datasetcontentversionvalue.html",
    "Properties": {
      "DatasetName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable-datasetcontentversionvalue.html#cfn-iotanalytics-dataset-variable-datasetcontentversionvalue-datasetname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.DeltaTime": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-deltatime.html",
    "Properties": {
      "OffsetSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-deltatime.html#cfn-iotanalytics-dataset-deltatime-offsetseconds",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TimeExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-deltatime.html#cfn-iotanalytics-dataset-deltatime-timeexpression",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.Filter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-filter.html",
    "Properties": {
      "DeltaTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-filter.html#cfn-iotanalytics-dataset-filter-deltatime",
        "Required": false,
        "Type": "DeltaTime",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.GlueConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-glueconfiguration.html",
    "Properties": {
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-glueconfiguration.html#cfn-iotanalytics-dataset-glueconfiguration-databasename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-glueconfiguration.html#cfn-iotanalytics-dataset-glueconfiguration-tablename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.IotEventsDestinationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-ioteventsdestinationconfiguration.html",
    "Properties": {
      "InputName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-ioteventsdestinationconfiguration.html#cfn-iotanalytics-dataset-ioteventsdestinationconfiguration-inputname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-ioteventsdestinationconfiguration.html#cfn-iotanalytics-dataset-ioteventsdestinationconfiguration-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.OutputFileUriValue": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable-outputfileurivalue.html",
    "Properties": {
      "FileName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable-outputfileurivalue.html#cfn-iotanalytics-dataset-variable-outputfileurivalue-filename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.QueryAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-queryaction.html",
    "Properties": {
      "Filters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-queryaction.html#cfn-iotanalytics-dataset-queryaction-filters",
        "ItemType": "Filter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SqlQuery": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-queryaction.html#cfn-iotanalytics-dataset-queryaction-sqlquery",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.ResourceConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-resourceconfiguration.html",
    "Properties": {
      "ComputeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-resourceconfiguration.html#cfn-iotanalytics-dataset-resourceconfiguration-computetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VolumeSizeInGB": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-resourceconfiguration.html#cfn-iotanalytics-dataset-resourceconfiguration-volumesizeingb",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.RetentionPeriod": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-retentionperiod.html",
    "Properties": {
      "NumberOfDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-retentionperiod.html#cfn-iotanalytics-dataset-retentionperiod-numberofdays",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Unlimited": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-retentionperiod.html#cfn-iotanalytics-dataset-retentionperiod-unlimited",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.S3DestinationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-s3destinationconfiguration.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-s3destinationconfiguration.html#cfn-iotanalytics-dataset-s3destinationconfiguration-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "GlueConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-s3destinationconfiguration.html#cfn-iotanalytics-dataset-s3destinationconfiguration-glueconfiguration",
        "Required": false,
        "Type": "GlueConfiguration",
        "UpdateType": "Mutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-s3destinationconfiguration.html#cfn-iotanalytics-dataset-s3destinationconfiguration-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-s3destinationconfiguration.html#cfn-iotanalytics-dataset-s3destinationconfiguration-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.Schedule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-trigger-schedule.html",
    "Properties": {
      "ScheduleExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-trigger-schedule.html#cfn-iotanalytics-dataset-trigger-schedule-scheduleexpression",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.Trigger": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-trigger.html",
    "Properties": {
      "Schedule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-trigger.html#cfn-iotanalytics-dataset-trigger-schedule",
        "Required": false,
        "Type": "Schedule",
        "UpdateType": "Mutable"
      },
      "TriggeringDataset": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-trigger.html#cfn-iotanalytics-dataset-trigger-triggeringdataset",
        "Required": false,
        "Type": "TriggeringDataset",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.TriggeringDataset": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-triggeringdataset.html",
    "Properties": {
      "DatasetName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-triggeringdataset.html#cfn-iotanalytics-dataset-triggeringdataset-datasetname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.Variable": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable.html",
    "Properties": {
      "DatasetContentVersionValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable.html#cfn-iotanalytics-dataset-variable-datasetcontentversionvalue",
        "Required": false,
        "Type": "DatasetContentVersionValue",
        "UpdateType": "Mutable"
      },
      "DoubleValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable.html#cfn-iotanalytics-dataset-variable-doublevalue",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OutputFileUriValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable.html#cfn-iotanalytics-dataset-variable-outputfileurivalue",
        "Required": false,
        "Type": "OutputFileUriValue",
        "UpdateType": "Mutable"
      },
      "StringValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable.html#cfn-iotanalytics-dataset-variable-stringvalue",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VariableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-variable.html#cfn-iotanalytics-dataset-variable-variablename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset.VersioningConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-versioningconfiguration.html",
    "Properties": {
      "MaxVersions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-versioningconfiguration.html#cfn-iotanalytics-dataset-versioningconfiguration-maxversions",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Unlimited": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-versioningconfiguration.html#cfn-iotanalytics-dataset-versioningconfiguration-unlimited",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Datastore.CustomerManagedS3": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-customermanageds3.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-customermanageds3.html#cfn-iotanalytics-datastore-customermanageds3-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "KeyPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-customermanageds3.html#cfn-iotanalytics-datastore-customermanageds3-keyprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-customermanageds3.html#cfn-iotanalytics-datastore-customermanageds3-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Datastore.DatastoreStorage": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-datastorestorage.html",
    "Properties": {
      "CustomerManagedS3": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-datastorestorage.html#cfn-iotanalytics-datastore-datastorestorage-customermanageds3",
        "Required": false,
        "Type": "CustomerManagedS3",
        "UpdateType": "Mutable"
      },
      "ServiceManagedS3": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-datastorestorage.html#cfn-iotanalytics-datastore-datastorestorage-servicemanageds3",
        "Required": false,
        "Type": "ServiceManagedS3",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Datastore.RetentionPeriod": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-retentionperiod.html",
    "Properties": {
      "NumberOfDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-retentionperiod.html#cfn-iotanalytics-datastore-retentionperiod-numberofdays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Unlimited": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-retentionperiod.html#cfn-iotanalytics-datastore-retentionperiod-unlimited",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Datastore.ServiceManagedS3": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-datastore-servicemanageds3.html",
    "Properties": {}
  },
  "AWS::IoTAnalytics::Pipeline.Activity": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html",
    "Properties": {
      "AddAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-addattributes",
        "Required": false,
        "Type": "AddAttributes",
        "UpdateType": "Mutable"
      },
      "Channel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-channel",
        "Required": false,
        "Type": "Channel",
        "UpdateType": "Mutable"
      },
      "Datastore": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-datastore",
        "Required": false,
        "Type": "Datastore",
        "UpdateType": "Mutable"
      },
      "DeviceRegistryEnrich": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-deviceregistryenrich",
        "Required": false,
        "Type": "DeviceRegistryEnrich",
        "UpdateType": "Mutable"
      },
      "DeviceShadowEnrich": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-deviceshadowenrich",
        "Required": false,
        "Type": "DeviceShadowEnrich",
        "UpdateType": "Mutable"
      },
      "Filter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-filter",
        "Required": false,
        "Type": "Filter",
        "UpdateType": "Mutable"
      },
      "Lambda": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-lambda",
        "Required": false,
        "Type": "Lambda",
        "UpdateType": "Mutable"
      },
      "Math": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-math",
        "Required": false,
        "Type": "Math",
        "UpdateType": "Mutable"
      },
      "RemoveAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-removeattributes",
        "Required": false,
        "Type": "RemoveAttributes",
        "UpdateType": "Mutable"
      },
      "SelectAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-activity.html#cfn-iotanalytics-pipeline-activity-selectattributes",
        "Required": false,
        "Type": "SelectAttributes",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Pipeline.AddAttributes": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-addattributes.html",
    "Properties": {
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-addattributes.html#cfn-iotanalytics-pipeline-addattributes-attributes",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-addattributes.html#cfn-iotanalytics-pipeline-addattributes-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Next": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-addattributes.html#cfn-iotanalytics-pipeline-addattributes-next",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Pipeline.Channel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-channel.html",
    "Properties": {
      "ChannelName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-channel.html#cfn-iotanalytics-pipeline-channel-channelname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-channel.html#cfn-iotanalytics-pipeline-channel-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Next": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-channel.html#cfn-iotanalytics-pipeline-channel-next",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Pipeline.Datastore": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-datastore.html",
    "Properties": {
      "DatastoreName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-datastore.html#cfn-iotanalytics-pipeline-datastore-datastorename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-datastore.html#cfn-iotanalytics-pipeline-datastore-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Pipeline.DeviceRegistryEnrich": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html",
    "Properties": {
      "Attribute": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html#cfn-iotanalytics-pipeline-deviceregistryenrich-attribute",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html#cfn-iotanalytics-pipeline-deviceregistryenrich-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Next": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html#cfn-iotanalytics-pipeline-deviceregistryenrich-next",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html#cfn-iotanalytics-pipeline-deviceregistryenrich-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThingName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceregistryenrich.html#cfn-iotanalytics-pipeline-deviceregistryenrich-thingname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Pipeline.DeviceShadowEnrich": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html",
    "Properties": {
      "Attribute": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html#cfn-iotanalytics-pipeline-deviceshadowenrich-attribute",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html#cfn-iotanalytics-pipeline-deviceshadowenrich-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Next": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html#cfn-iotanalytics-pipeline-deviceshadowenrich-next",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html#cfn-iotanalytics-pipeline-deviceshadowenrich-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThingName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-deviceshadowenrich.html#cfn-iotanalytics-pipeline-deviceshadowenrich-thingname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Pipeline.Filter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-filter.html",
    "Properties": {
      "Filter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-filter.html#cfn-iotanalytics-pipeline-filter-filter",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-filter.html#cfn-iotanalytics-pipeline-filter-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Next": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-filter.html#cfn-iotanalytics-pipeline-filter-next",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Pipeline.Lambda": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-lambda.html",
    "Properties": {
      "BatchSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-lambda.html#cfn-iotanalytics-pipeline-lambda-batchsize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LambdaName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-lambda.html#cfn-iotanalytics-pipeline-lambda-lambdaname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-lambda.html#cfn-iotanalytics-pipeline-lambda-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Next": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-lambda.html#cfn-iotanalytics-pipeline-lambda-next",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Pipeline.Math": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-math.html",
    "Properties": {
      "Attribute": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-math.html#cfn-iotanalytics-pipeline-math-attribute",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Math": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-math.html#cfn-iotanalytics-pipeline-math-math",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-math.html#cfn-iotanalytics-pipeline-math-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Next": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-math.html#cfn-iotanalytics-pipeline-math-next",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Pipeline.RemoveAttributes": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-removeattributes.html",
    "Properties": {
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-removeattributes.html#cfn-iotanalytics-pipeline-removeattributes-attributes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-removeattributes.html#cfn-iotanalytics-pipeline-removeattributes-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Next": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-removeattributes.html#cfn-iotanalytics-pipeline-removeattributes-next",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Pipeline.SelectAttributes": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-selectattributes.html",
    "Properties": {
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-selectattributes.html#cfn-iotanalytics-pipeline-selectattributes-attributes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-selectattributes.html#cfn-iotanalytics-pipeline-selectattributes-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Next": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-selectattributes.html#cfn-iotanalytics-pipeline-selectattributes-next",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html",
    "Properties": {
      "ClearTimer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-cleartimer",
        "Required": false,
        "Type": "ClearTimer",
        "UpdateType": "Mutable"
      },
      "Firehose": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-firehose",
        "Required": false,
        "Type": "Firehose",
        "UpdateType": "Mutable"
      },
      "IotEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iotevents",
        "Required": false,
        "Type": "IotEvents",
        "UpdateType": "Mutable"
      },
      "IotTopicPublish": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-iottopicpublish",
        "Required": false,
        "Type": "IotTopicPublish",
        "UpdateType": "Mutable"
      },
      "Lambda": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-lambda",
        "Required": false,
        "Type": "Lambda",
        "UpdateType": "Mutable"
      },
      "ResetTimer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-resettimer",
        "Required": false,
        "Type": "ResetTimer",
        "UpdateType": "Mutable"
      },
      "SetTimer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-settimer",
        "Required": false,
        "Type": "SetTimer",
        "UpdateType": "Mutable"
      },
      "SetVariable": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-setvariable",
        "Required": false,
        "Type": "SetVariable",
        "UpdateType": "Mutable"
      },
      "Sns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-sns",
        "Required": false,
        "Type": "Sns",
        "UpdateType": "Mutable"
      },
      "Sqs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-action.html#cfn-iotevents-detectormodel-action-sqs",
        "Required": false,
        "Type": "Sqs",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.ClearTimer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-cleartimer.html",
    "Properties": {
      "TimerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-cleartimer.html#cfn-iotevents-detectormodel-cleartimer-timername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.DetectorModelDefinition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-detectormodeldefinition.html",
    "Properties": {
      "InitialStateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-detectormodeldefinition.html#cfn-iotevents-detectormodel-detectormodeldefinition-initialstatename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "States": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-detectormodeldefinition.html#cfn-iotevents-detectormodel-detectormodeldefinition-states",
        "ItemType": "State",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.Event": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html",
    "Properties": {
      "Actions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html#cfn-iotevents-detectormodel-event-actions",
        "ItemType": "Action",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Condition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html#cfn-iotevents-detectormodel-event-condition",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EventName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-event.html#cfn-iotevents-detectormodel-event-eventname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.Firehose": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html",
    "Properties": {
      "DeliveryStreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-deliverystreamname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Separator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-firehose.html#cfn-iotevents-detectormodel-firehose-separator",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.IotEvents": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html",
    "Properties": {
      "InputName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iotevents.html#cfn-iotevents-detectormodel-iotevents-inputname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.IotTopicPublish": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html",
    "Properties": {
      "MqttTopic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-iottopicpublish.html#cfn-iotevents-detectormodel-iottopicpublish-mqtttopic",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.Lambda": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html",
    "Properties": {
      "FunctionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-lambda.html#cfn-iotevents-detectormodel-lambda-functionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.OnEnter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onenter.html",
    "Properties": {
      "Events": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onenter.html#cfn-iotevents-detectormodel-onenter-events",
        "ItemType": "Event",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.OnExit": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onexit.html",
    "Properties": {
      "Events": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-onexit.html#cfn-iotevents-detectormodel-onexit-events",
        "ItemType": "Event",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.OnInput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-oninput.html",
    "Properties": {
      "Events": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-oninput.html#cfn-iotevents-detectormodel-oninput-events",
        "ItemType": "Event",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TransitionEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-oninput.html#cfn-iotevents-detectormodel-oninput-transitionevents",
        "ItemType": "TransitionEvent",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.ResetTimer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-resettimer.html",
    "Properties": {
      "TimerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-resettimer.html#cfn-iotevents-detectormodel-resettimer-timername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.SetTimer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html",
    "Properties": {
      "Seconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html#cfn-iotevents-detectormodel-settimer-seconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TimerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-settimer.html#cfn-iotevents-detectormodel-settimer-timername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.SetVariable": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-setvariable.html",
    "Properties": {
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-setvariable.html#cfn-iotevents-detectormodel-setvariable-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VariableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-setvariable.html#cfn-iotevents-detectormodel-setvariable-variablename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.Sns": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html",
    "Properties": {
      "TargetArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sns.html#cfn-iotevents-detectormodel-sns-targetarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.Sqs": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html",
    "Properties": {
      "QueueUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html#cfn-iotevents-detectormodel-sqs-queueurl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UseBase64": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-sqs.html#cfn-iotevents-detectormodel-sqs-usebase64",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.State": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html",
    "Properties": {
      "OnEnter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-onenter",
        "Required": false,
        "Type": "OnEnter",
        "UpdateType": "Mutable"
      },
      "OnExit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-onexit",
        "Required": false,
        "Type": "OnExit",
        "UpdateType": "Mutable"
      },
      "OnInput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-oninput",
        "Required": false,
        "Type": "OnInput",
        "UpdateType": "Mutable"
      },
      "StateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-state.html#cfn-iotevents-detectormodel-state-statename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel.TransitionEvent": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html",
    "Properties": {
      "Actions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-actions",
        "ItemType": "Action",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Condition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-condition",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EventName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-eventname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NextState": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-transitionevent.html#cfn-iotevents-detectormodel-transitionevent-nextstate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::Input.Attribute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-attribute.html",
    "Properties": {
      "JsonPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-attribute.html#cfn-iotevents-input-attribute-jsonpath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::Input.InputDefinition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-inputdefinition.html",
    "Properties": {
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-input-inputdefinition.html#cfn-iotevents-input-inputdefinition-attributes",
        "ItemType": "Attribute",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTThingsGraph::FlowTemplate.DefinitionDocument": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotthingsgraph-flowtemplate-definitiondocument.html",
    "Properties": {
      "Language": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotthingsgraph-flowtemplate-definitiondocument.html#cfn-iotthingsgraph-flowtemplate-definitiondocument-language",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Text": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotthingsgraph-flowtemplate-definitiondocument.html#cfn-iotthingsgraph-flowtemplate-definitiondocument-text",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Kinesis::Stream.StreamEncryption": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesis-stream-streamencryption.html",
    "Properties": {
      "EncryptionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesis-stream-streamencryption.html#cfn-kinesis-stream-streamencryption-encryptiontype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "KeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesis-stream-streamencryption.html#cfn-kinesis-stream-streamencryption-keyid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application.CSVMappingParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-csvmappingparameters.html",
    "Properties": {
      "RecordColumnDelimiter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-csvmappingparameters.html#cfn-kinesisanalytics-application-csvmappingparameters-recordcolumndelimiter",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RecordRowDelimiter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-csvmappingparameters.html#cfn-kinesisanalytics-application-csvmappingparameters-recordrowdelimiter",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application.Input": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html",
    "Properties": {
      "InputParallelism": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html#cfn-kinesisanalytics-application-input-inputparallelism",
        "Required": false,
        "Type": "InputParallelism",
        "UpdateType": "Mutable"
      },
      "InputProcessingConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html#cfn-kinesisanalytics-application-input-inputprocessingconfiguration",
        "Required": false,
        "Type": "InputProcessingConfiguration",
        "UpdateType": "Mutable"
      },
      "InputSchema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html#cfn-kinesisanalytics-application-input-inputschema",
        "Required": true,
        "Type": "InputSchema",
        "UpdateType": "Mutable"
      },
      "KinesisFirehoseInput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html#cfn-kinesisanalytics-application-input-kinesisfirehoseinput",
        "Required": false,
        "Type": "KinesisFirehoseInput",
        "UpdateType": "Mutable"
      },
      "KinesisStreamsInput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html#cfn-kinesisanalytics-application-input-kinesisstreamsinput",
        "Required": false,
        "Type": "KinesisStreamsInput",
        "UpdateType": "Mutable"
      },
      "NamePrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-input.html#cfn-kinesisanalytics-application-input-nameprefix",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application.InputLambdaProcessor": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputlambdaprocessor.html",
    "Properties": {
      "ResourceARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputlambdaprocessor.html#cfn-kinesisanalytics-application-inputlambdaprocessor-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputlambdaprocessor.html#cfn-kinesisanalytics-application-inputlambdaprocessor-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application.InputParallelism": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputparallelism.html",
    "Properties": {
      "Count": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputparallelism.html#cfn-kinesisanalytics-application-inputparallelism-count",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application.InputProcessingConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputprocessingconfiguration.html",
    "Properties": {
      "InputLambdaProcessor": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputprocessingconfiguration.html#cfn-kinesisanalytics-application-inputprocessingconfiguration-inputlambdaprocessor",
        "Required": false,
        "Type": "InputLambdaProcessor",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application.InputSchema": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputschema.html",
    "Properties": {
      "RecordColumns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputschema.html#cfn-kinesisanalytics-application-inputschema-recordcolumns",
        "ItemType": "RecordColumn",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RecordEncoding": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputschema.html#cfn-kinesisanalytics-application-inputschema-recordencoding",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RecordFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-inputschema.html#cfn-kinesisanalytics-application-inputschema-recordformat",
        "Required": true,
        "Type": "RecordFormat",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application.JSONMappingParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-jsonmappingparameters.html",
    "Properties": {
      "RecordRowPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-jsonmappingparameters.html#cfn-kinesisanalytics-application-jsonmappingparameters-recordrowpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application.KinesisFirehoseInput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-kinesisfirehoseinput.html",
    "Properties": {
      "ResourceARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-kinesisfirehoseinput.html#cfn-kinesisanalytics-application-kinesisfirehoseinput-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-kinesisfirehoseinput.html#cfn-kinesisanalytics-application-kinesisfirehoseinput-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application.KinesisStreamsInput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-kinesisstreamsinput.html",
    "Properties": {
      "ResourceARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-kinesisstreamsinput.html#cfn-kinesisanalytics-application-kinesisstreamsinput-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-kinesisstreamsinput.html#cfn-kinesisanalytics-application-kinesisstreamsinput-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application.MappingParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-mappingparameters.html",
    "Properties": {
      "CSVMappingParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-mappingparameters.html#cfn-kinesisanalytics-application-mappingparameters-csvmappingparameters",
        "Required": false,
        "Type": "CSVMappingParameters",
        "UpdateType": "Mutable"
      },
      "JSONMappingParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-mappingparameters.html#cfn-kinesisanalytics-application-mappingparameters-jsonmappingparameters",
        "Required": false,
        "Type": "JSONMappingParameters",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application.RecordColumn": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordcolumn.html",
    "Properties": {
      "Mapping": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordcolumn.html#cfn-kinesisanalytics-application-recordcolumn-mapping",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordcolumn.html#cfn-kinesisanalytics-application-recordcolumn-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SqlType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordcolumn.html#cfn-kinesisanalytics-application-recordcolumn-sqltype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application.RecordFormat": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordformat.html",
    "Properties": {
      "MappingParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordformat.html#cfn-kinesisanalytics-application-recordformat-mappingparameters",
        "Required": false,
        "Type": "MappingParameters",
        "UpdateType": "Mutable"
      },
      "RecordFormatType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-application-recordformat.html#cfn-kinesisanalytics-application-recordformat-recordformattype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationOutput.DestinationSchema": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-destinationschema.html",
    "Properties": {
      "RecordFormatType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-destinationschema.html#cfn-kinesisanalytics-applicationoutput-destinationschema-recordformattype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationOutput.KinesisFirehoseOutput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-kinesisfirehoseoutput.html",
    "Properties": {
      "ResourceARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-kinesisfirehoseoutput.html#cfn-kinesisanalytics-applicationoutput-kinesisfirehoseoutput-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-kinesisfirehoseoutput.html#cfn-kinesisanalytics-applicationoutput-kinesisfirehoseoutput-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationOutput.KinesisStreamsOutput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-kinesisstreamsoutput.html",
    "Properties": {
      "ResourceARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-kinesisstreamsoutput.html#cfn-kinesisanalytics-applicationoutput-kinesisstreamsoutput-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-kinesisstreamsoutput.html#cfn-kinesisanalytics-applicationoutput-kinesisstreamsoutput-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationOutput.LambdaOutput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-lambdaoutput.html",
    "Properties": {
      "ResourceARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-lambdaoutput.html#cfn-kinesisanalytics-applicationoutput-lambdaoutput-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-lambdaoutput.html#cfn-kinesisanalytics-applicationoutput-lambdaoutput-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationOutput.Output": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html",
    "Properties": {
      "DestinationSchema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html#cfn-kinesisanalytics-applicationoutput-output-destinationschema",
        "Required": true,
        "Type": "DestinationSchema",
        "UpdateType": "Mutable"
      },
      "KinesisFirehoseOutput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html#cfn-kinesisanalytics-applicationoutput-output-kinesisfirehoseoutput",
        "Required": false,
        "Type": "KinesisFirehoseOutput",
        "UpdateType": "Mutable"
      },
      "KinesisStreamsOutput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html#cfn-kinesisanalytics-applicationoutput-output-kinesisstreamsoutput",
        "Required": false,
        "Type": "KinesisStreamsOutput",
        "UpdateType": "Mutable"
      },
      "LambdaOutput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html#cfn-kinesisanalytics-applicationoutput-output-lambdaoutput",
        "Required": false,
        "Type": "LambdaOutput",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationoutput-output.html#cfn-kinesisanalytics-applicationoutput-output-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationReferenceDataSource.CSVMappingParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-csvmappingparameters.html",
    "Properties": {
      "RecordColumnDelimiter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-csvmappingparameters.html#cfn-kinesisanalytics-applicationreferencedatasource-csvmappingparameters-recordcolumndelimiter",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RecordRowDelimiter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-csvmappingparameters.html#cfn-kinesisanalytics-applicationreferencedatasource-csvmappingparameters-recordrowdelimiter",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationReferenceDataSource.JSONMappingParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-jsonmappingparameters.html",
    "Properties": {
      "RecordRowPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-jsonmappingparameters.html#cfn-kinesisanalytics-applicationreferencedatasource-jsonmappingparameters-recordrowpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationReferenceDataSource.MappingParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-mappingparameters.html",
    "Properties": {
      "CSVMappingParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-mappingparameters.html#cfn-kinesisanalytics-applicationreferencedatasource-mappingparameters-csvmappingparameters",
        "Required": false,
        "Type": "CSVMappingParameters",
        "UpdateType": "Mutable"
      },
      "JSONMappingParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-mappingparameters.html#cfn-kinesisanalytics-applicationreferencedatasource-mappingparameters-jsonmappingparameters",
        "Required": false,
        "Type": "JSONMappingParameters",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordColumn": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordcolumn.html",
    "Properties": {
      "Mapping": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordcolumn.html#cfn-kinesisanalytics-applicationreferencedatasource-recordcolumn-mapping",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordcolumn.html#cfn-kinesisanalytics-applicationreferencedatasource-recordcolumn-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SqlType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordcolumn.html#cfn-kinesisanalytics-applicationreferencedatasource-recordcolumn-sqltype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationReferenceDataSource.RecordFormat": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordformat.html",
    "Properties": {
      "MappingParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordformat.html#cfn-kinesisanalytics-applicationreferencedatasource-recordformat-mappingparameters",
        "Required": false,
        "Type": "MappingParameters",
        "UpdateType": "Mutable"
      },
      "RecordFormatType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-recordformat.html#cfn-kinesisanalytics-applicationreferencedatasource-recordformat-recordformattype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceDataSource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referencedatasource.html",
    "Properties": {
      "ReferenceSchema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referencedatasource.html#cfn-kinesisanalytics-applicationreferencedatasource-referencedatasource-referenceschema",
        "Required": true,
        "Type": "ReferenceSchema",
        "UpdateType": "Mutable"
      },
      "S3ReferenceDataSource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referencedatasource.html#cfn-kinesisanalytics-applicationreferencedatasource-referencedatasource-s3referencedatasource",
        "Required": false,
        "Type": "S3ReferenceDataSource",
        "UpdateType": "Mutable"
      },
      "TableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referencedatasource.html#cfn-kinesisanalytics-applicationreferencedatasource-referencedatasource-tablename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationReferenceDataSource.ReferenceSchema": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html",
    "Properties": {
      "RecordColumns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalytics-applicationreferencedatasource-referenceschema-recordcolumns",
        "ItemType": "RecordColumn",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RecordEncoding": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalytics-applicationreferencedatasource-referenceschema-recordencoding",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RecordFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalytics-applicationreferencedatasource-referenceschema-recordformat",
        "Required": true,
        "Type": "RecordFormat",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationReferenceDataSource.S3ReferenceDataSource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-s3referencedatasource.html",
    "Properties": {
      "BucketARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-s3referencedatasource.html#cfn-kinesisanalytics-applicationreferencedatasource-s3referencedatasource-bucketarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "FileKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-s3referencedatasource.html#cfn-kinesisanalytics-applicationreferencedatasource-s3referencedatasource-filekey",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ReferenceRoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalytics-applicationreferencedatasource-s3referencedatasource.html#cfn-kinesisanalytics-applicationreferencedatasource-s3referencedatasource-referencerolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.ApplicationCodeConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationcodeconfiguration.html",
    "Properties": {
      "CodeContent": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationcodeconfiguration.html#cfn-kinesisanalyticsv2-application-applicationcodeconfiguration-codecontent",
        "Required": true,
        "Type": "CodeContent",
        "UpdateType": "Mutable"
      },
      "CodeContentType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationcodeconfiguration.html#cfn-kinesisanalyticsv2-application-applicationcodeconfiguration-codecontenttype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.ApplicationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html",
    "Properties": {
      "ApplicationCodeConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html#cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationcodeconfiguration",
        "Required": false,
        "Type": "ApplicationCodeConfiguration",
        "UpdateType": "Mutable"
      },
      "ApplicationSnapshotConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html#cfn-kinesisanalyticsv2-application-applicationconfiguration-applicationsnapshotconfiguration",
        "Required": false,
        "Type": "ApplicationSnapshotConfiguration",
        "UpdateType": "Mutable"
      },
      "EnvironmentProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html#cfn-kinesisanalyticsv2-application-applicationconfiguration-environmentproperties",
        "Required": false,
        "Type": "EnvironmentProperties",
        "UpdateType": "Mutable"
      },
      "FlinkApplicationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html#cfn-kinesisanalyticsv2-application-applicationconfiguration-flinkapplicationconfiguration",
        "Required": false,
        "Type": "FlinkApplicationConfiguration",
        "UpdateType": "Mutable"
      },
      "SqlApplicationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationconfiguration.html#cfn-kinesisanalyticsv2-application-applicationconfiguration-sqlapplicationconfiguration",
        "Required": false,
        "Type": "SqlApplicationConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.ApplicationSnapshotConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationsnapshotconfiguration.html",
    "Properties": {
      "SnapshotsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-applicationsnapshotconfiguration.html#cfn-kinesisanalyticsv2-application-applicationsnapshotconfiguration-snapshotsenabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.CSVMappingParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-csvmappingparameters.html",
    "Properties": {
      "RecordColumnDelimiter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-csvmappingparameters.html#cfn-kinesisanalyticsv2-application-csvmappingparameters-recordcolumndelimiter",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RecordRowDelimiter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-csvmappingparameters.html#cfn-kinesisanalyticsv2-application-csvmappingparameters-recordrowdelimiter",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.CheckpointConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html",
    "Properties": {
      "CheckpointInterval": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html#cfn-kinesisanalyticsv2-application-checkpointconfiguration-checkpointinterval",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CheckpointingEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html#cfn-kinesisanalyticsv2-application-checkpointconfiguration-checkpointingenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ConfigurationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html#cfn-kinesisanalyticsv2-application-checkpointconfiguration-configurationtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MinPauseBetweenCheckpoints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-checkpointconfiguration.html#cfn-kinesisanalyticsv2-application-checkpointconfiguration-minpausebetweencheckpoints",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.CodeContent": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-codecontent.html",
    "Properties": {
      "S3ContentLocation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-codecontent.html#cfn-kinesisanalyticsv2-application-codecontent-s3contentlocation",
        "Required": false,
        "Type": "S3ContentLocation",
        "UpdateType": "Mutable"
      },
      "TextContent": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-codecontent.html#cfn-kinesisanalyticsv2-application-codecontent-textcontent",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ZipFileContent": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-codecontent.html#cfn-kinesisanalyticsv2-application-codecontent-zipfilecontent",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.EnvironmentProperties": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-environmentproperties.html",
    "Properties": {
      "PropertyGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-environmentproperties.html#cfn-kinesisanalyticsv2-application-environmentproperties-propertygroups",
        "ItemType": "PropertyGroup",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.FlinkApplicationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration.html",
    "Properties": {
      "CheckpointConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration.html#cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-checkpointconfiguration",
        "Required": false,
        "Type": "CheckpointConfiguration",
        "UpdateType": "Mutable"
      },
      "MonitoringConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration.html#cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-monitoringconfiguration",
        "Required": false,
        "Type": "MonitoringConfiguration",
        "UpdateType": "Mutable"
      },
      "ParallelismConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-flinkapplicationconfiguration.html#cfn-kinesisanalyticsv2-application-flinkapplicationconfiguration-parallelismconfiguration",
        "Required": false,
        "Type": "ParallelismConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.Input": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html",
    "Properties": {
      "InputParallelism": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-inputparallelism",
        "Required": false,
        "Type": "InputParallelism",
        "UpdateType": "Mutable"
      },
      "InputProcessingConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-inputprocessingconfiguration",
        "Required": false,
        "Type": "InputProcessingConfiguration",
        "UpdateType": "Mutable"
      },
      "InputSchema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-inputschema",
        "Required": true,
        "Type": "InputSchema",
        "UpdateType": "Mutable"
      },
      "KinesisFirehoseInput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-kinesisfirehoseinput",
        "Required": false,
        "Type": "KinesisFirehoseInput",
        "UpdateType": "Mutable"
      },
      "KinesisStreamsInput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-kinesisstreamsinput",
        "Required": false,
        "Type": "KinesisStreamsInput",
        "UpdateType": "Mutable"
      },
      "NamePrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-input.html#cfn-kinesisanalyticsv2-application-input-nameprefix",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.InputLambdaProcessor": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputlambdaprocessor.html",
    "Properties": {
      "ResourceARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputlambdaprocessor.html#cfn-kinesisanalyticsv2-application-inputlambdaprocessor-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.InputParallelism": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputparallelism.html",
    "Properties": {
      "Count": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputparallelism.html#cfn-kinesisanalyticsv2-application-inputparallelism-count",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.InputProcessingConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputprocessingconfiguration.html",
    "Properties": {
      "InputLambdaProcessor": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputprocessingconfiguration.html#cfn-kinesisanalyticsv2-application-inputprocessingconfiguration-inputlambdaprocessor",
        "Required": false,
        "Type": "InputLambdaProcessor",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.InputSchema": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputschema.html",
    "Properties": {
      "RecordColumns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputschema.html#cfn-kinesisanalyticsv2-application-inputschema-recordcolumns",
        "ItemType": "RecordColumn",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RecordEncoding": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputschema.html#cfn-kinesisanalyticsv2-application-inputschema-recordencoding",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RecordFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-inputschema.html#cfn-kinesisanalyticsv2-application-inputschema-recordformat",
        "Required": true,
        "Type": "RecordFormat",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.JSONMappingParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-jsonmappingparameters.html",
    "Properties": {
      "RecordRowPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-jsonmappingparameters.html#cfn-kinesisanalyticsv2-application-jsonmappingparameters-recordrowpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.KinesisFirehoseInput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-kinesisfirehoseinput.html",
    "Properties": {
      "ResourceARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-kinesisfirehoseinput.html#cfn-kinesisanalyticsv2-application-kinesisfirehoseinput-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.KinesisStreamsInput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-kinesisstreamsinput.html",
    "Properties": {
      "ResourceARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-kinesisstreamsinput.html#cfn-kinesisanalyticsv2-application-kinesisstreamsinput-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.MappingParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-mappingparameters.html",
    "Properties": {
      "CSVMappingParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-mappingparameters.html#cfn-kinesisanalyticsv2-application-mappingparameters-csvmappingparameters",
        "Required": false,
        "Type": "CSVMappingParameters",
        "UpdateType": "Mutable"
      },
      "JSONMappingParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-mappingparameters.html#cfn-kinesisanalyticsv2-application-mappingparameters-jsonmappingparameters",
        "Required": false,
        "Type": "JSONMappingParameters",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.MonitoringConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-monitoringconfiguration.html",
    "Properties": {
      "ConfigurationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-monitoringconfiguration.html#cfn-kinesisanalyticsv2-application-monitoringconfiguration-configurationtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "LogLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-monitoringconfiguration.html#cfn-kinesisanalyticsv2-application-monitoringconfiguration-loglevel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricsLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-monitoringconfiguration.html#cfn-kinesisanalyticsv2-application-monitoringconfiguration-metricslevel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.ParallelismConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-parallelismconfiguration.html",
    "Properties": {
      "AutoScalingEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-parallelismconfiguration.html#cfn-kinesisanalyticsv2-application-parallelismconfiguration-autoscalingenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ConfigurationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-parallelismconfiguration.html#cfn-kinesisanalyticsv2-application-parallelismconfiguration-configurationtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Parallelism": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-parallelismconfiguration.html#cfn-kinesisanalyticsv2-application-parallelismconfiguration-parallelism",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ParallelismPerKPU": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-parallelismconfiguration.html#cfn-kinesisanalyticsv2-application-parallelismconfiguration-parallelismperkpu",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.PropertyGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-propertygroup.html",
    "Properties": {
      "PropertyGroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-propertygroup.html#cfn-kinesisanalyticsv2-application-propertygroup-propertygroupid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PropertyMap": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-propertygroup.html#cfn-kinesisanalyticsv2-application-propertygroup-propertymap",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.RecordColumn": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordcolumn.html",
    "Properties": {
      "Mapping": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordcolumn.html#cfn-kinesisanalyticsv2-application-recordcolumn-mapping",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordcolumn.html#cfn-kinesisanalyticsv2-application-recordcolumn-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SqlType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordcolumn.html#cfn-kinesisanalyticsv2-application-recordcolumn-sqltype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.RecordFormat": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordformat.html",
    "Properties": {
      "MappingParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordformat.html#cfn-kinesisanalyticsv2-application-recordformat-mappingparameters",
        "Required": false,
        "Type": "MappingParameters",
        "UpdateType": "Mutable"
      },
      "RecordFormatType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-recordformat.html#cfn-kinesisanalyticsv2-application-recordformat-recordformattype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.S3ContentLocation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-s3contentlocation.html",
    "Properties": {
      "BucketARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-s3contentlocation.html#cfn-kinesisanalyticsv2-application-s3contentlocation-bucketarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FileKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-s3contentlocation.html#cfn-kinesisanalyticsv2-application-s3contentlocation-filekey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ObjectVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-s3contentlocation.html#cfn-kinesisanalyticsv2-application-s3contentlocation-objectversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application.SqlApplicationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-sqlapplicationconfiguration.html",
    "Properties": {
      "Inputs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-application-sqlapplicationconfiguration.html#cfn-kinesisanalyticsv2-application-sqlapplicationconfiguration-inputs",
        "ItemType": "Input",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption.CloudWatchLoggingOption": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption.html",
    "Properties": {
      "LogStreamARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption.html#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption-logstreamarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationOutput.DestinationSchema": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-destinationschema.html",
    "Properties": {
      "RecordFormatType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-destinationschema.html#cfn-kinesisanalyticsv2-applicationoutput-destinationschema-recordformattype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisFirehoseOutput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput.html",
    "Properties": {
      "ResourceARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput.html#cfn-kinesisanalyticsv2-applicationoutput-kinesisfirehoseoutput-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationOutput.KinesisStreamsOutput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput.html",
    "Properties": {
      "ResourceARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput.html#cfn-kinesisanalyticsv2-applicationoutput-kinesisstreamsoutput-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationOutput.LambdaOutput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-lambdaoutput.html",
    "Properties": {
      "ResourceARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-lambdaoutput.html#cfn-kinesisanalyticsv2-applicationoutput-lambdaoutput-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationOutput.Output": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html",
    "Properties": {
      "DestinationSchema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html#cfn-kinesisanalyticsv2-applicationoutput-output-destinationschema",
        "Required": true,
        "Type": "DestinationSchema",
        "UpdateType": "Mutable"
      },
      "KinesisFirehoseOutput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html#cfn-kinesisanalyticsv2-applicationoutput-output-kinesisfirehoseoutput",
        "Required": false,
        "Type": "KinesisFirehoseOutput",
        "UpdateType": "Mutable"
      },
      "KinesisStreamsOutput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html#cfn-kinesisanalyticsv2-applicationoutput-output-kinesisstreamsoutput",
        "Required": false,
        "Type": "KinesisStreamsOutput",
        "UpdateType": "Mutable"
      },
      "LambdaOutput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html#cfn-kinesisanalyticsv2-applicationoutput-output-lambdaoutput",
        "Required": false,
        "Type": "LambdaOutput",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationoutput-output.html#cfn-kinesisanalyticsv2-applicationoutput-output-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.CSVMappingParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters.html",
    "Properties": {
      "RecordColumnDelimiter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters-recordcolumndelimiter",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RecordRowDelimiter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-csvmappingparameters-recordrowdelimiter",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.JSONMappingParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters.html",
    "Properties": {
      "RecordRowPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-jsonmappingparameters-recordrowpath",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.MappingParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters.html",
    "Properties": {
      "CSVMappingParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-csvmappingparameters",
        "Required": false,
        "Type": "CSVMappingParameters",
        "UpdateType": "Mutable"
      },
      "JSONMappingParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-mappingparameters-jsonmappingparameters",
        "Required": false,
        "Type": "JSONMappingParameters",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordColumn": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn.html",
    "Properties": {
      "Mapping": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-mapping",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SqlType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordcolumn-sqltype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.RecordFormat": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat.html",
    "Properties": {
      "MappingParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordformat-mappingparameters",
        "Required": false,
        "Type": "MappingParameters",
        "UpdateType": "Mutable"
      },
      "RecordFormatType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-recordformat.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-recordformat-recordformattype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceDataSource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource.html",
    "Properties": {
      "ReferenceSchema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-referenceschema",
        "Required": true,
        "Type": "ReferenceSchema",
        "UpdateType": "Mutable"
      },
      "S3ReferenceDataSource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-s3referencedatasource",
        "Required": false,
        "Type": "S3ReferenceDataSource",
        "UpdateType": "Mutable"
      },
      "TableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource-tablename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.ReferenceSchema": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema.html",
    "Properties": {
      "RecordColumns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordcolumns",
        "ItemType": "RecordColumn",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RecordEncoding": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordencoding",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RecordFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-referenceschema.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-referenceschema-recordformat",
        "Required": true,
        "Type": "RecordFormat",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource.S3ReferenceDataSource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource.html",
    "Properties": {
      "BucketARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource-bucketarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "FileKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-s3referencedatasource-filekey",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.BufferingHints": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html",
    "Properties": {
      "IntervalInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html#cfn-kinesisfirehose-deliverystream-bufferinghints-intervalinseconds",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SizeInMBs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-bufferinghints.html#cfn-kinesisfirehose-deliverystream-bufferinghints-sizeinmbs",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.CloudWatchLoggingOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html#cfn-kinesisfirehose-deliverystream-cloudwatchloggingoptions-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LogGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html#cfn-kinesisfirehose-deliverystream-cloudwatchloggingoptions-loggroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LogStreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-cloudwatchloggingoptions.html#cfn-kinesisfirehose-deliverystream-cloudwatchloggingoptions-logstreamname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.CopyCommand": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-copycommand.html",
    "Properties": {
      "CopyOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-copycommand.html#cfn-kinesisfirehose-deliverystream-copycommand-copyoptions",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DataTableColumns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-copycommand.html#cfn-kinesisfirehose-deliverystream-copycommand-datatablecolumns",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DataTableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-copycommand.html#cfn-kinesisfirehose-deliverystream-copycommand-datatablename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.DataFormatConversionConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InputFormatConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-inputformatconfiguration",
        "Required": true,
        "Type": "InputFormatConfiguration",
        "UpdateType": "Mutable"
      },
      "OutputFormatConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-outputformatconfiguration",
        "Required": true,
        "Type": "OutputFormatConfiguration",
        "UpdateType": "Mutable"
      },
      "SchemaConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-dataformatconversionconfiguration.html#cfn-kinesisfirehose-deliverystream-dataformatconversionconfiguration-schemaconfiguration",
        "Required": true,
        "Type": "SchemaConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.Deserializer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deserializer.html",
    "Properties": {
      "HiveJsonSerDe": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deserializer.html#cfn-kinesisfirehose-deliverystream-deserializer-hivejsonserde",
        "Required": false,
        "Type": "HiveJsonSerDe",
        "UpdateType": "Mutable"
      },
      "OpenXJsonSerDe": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-deserializer.html#cfn-kinesisfirehose-deliverystream-deserializer-openxjsonserde",
        "Required": false,
        "Type": "OpenXJsonSerDe",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.ElasticsearchBufferingHints": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchbufferinghints.html",
    "Properties": {
      "IntervalInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchbufferinghints.html#cfn-kinesisfirehose-deliverystream-elasticsearchbufferinghints-intervalinseconds",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SizeInMBs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchbufferinghints.html#cfn-kinesisfirehose-deliverystream-elasticsearchbufferinghints-sizeinmbs",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.ElasticsearchDestinationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html",
    "Properties": {
      "BufferingHints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-bufferinghints",
        "Required": true,
        "Type": "ElasticsearchBufferingHints",
        "UpdateType": "Mutable"
      },
      "CloudWatchLoggingOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-cloudwatchloggingoptions",
        "Required": false,
        "Type": "CloudWatchLoggingOptions",
        "UpdateType": "Mutable"
      },
      "DomainARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-domainarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IndexName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-indexname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IndexRotationPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-indexrotationperiod",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ProcessingConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-processingconfiguration",
        "Required": false,
        "Type": "ProcessingConfiguration",
        "UpdateType": "Mutable"
      },
      "RetryOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-retryoptions",
        "Required": true,
        "Type": "ElasticsearchRetryOptions",
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3BackupMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-s3backupmode",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3Configuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-s3configuration",
        "Required": true,
        "Type": "S3DestinationConfiguration",
        "UpdateType": "Mutable"
      },
      "TypeName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration-typename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.ElasticsearchRetryOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchretryoptions.html",
    "Properties": {
      "DurationInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-elasticsearchretryoptions.html#cfn-kinesisfirehose-deliverystream-elasticsearchretryoptions-durationinseconds",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.EncryptionConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-encryptionconfiguration.html",
    "Properties": {
      "KMSEncryptionConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-encryptionconfiguration.html#cfn-kinesisfirehose-deliverystream-encryptionconfiguration-kmsencryptionconfig",
        "Required": false,
        "Type": "KMSEncryptionConfig",
        "UpdateType": "Mutable"
      },
      "NoEncryptionConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-encryptionconfiguration.html#cfn-kinesisfirehose-deliverystream-encryptionconfiguration-noencryptionconfig",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.ExtendedS3DestinationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html",
    "Properties": {
      "BucketARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-bucketarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "BufferingHints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-bufferinghints",
        "Required": true,
        "Type": "BufferingHints",
        "UpdateType": "Mutable"
      },
      "CloudWatchLoggingOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-cloudwatchloggingoptions",
        "Required": false,
        "Type": "CloudWatchLoggingOptions",
        "UpdateType": "Mutable"
      },
      "CompressionFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-compressionformat",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DataFormatConversionConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-dataformatconversionconfiguration",
        "Required": false,
        "Type": "DataFormatConversionConfiguration",
        "UpdateType": "Mutable"
      },
      "EncryptionConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-encryptionconfiguration",
        "Required": false,
        "Type": "EncryptionConfiguration",
        "UpdateType": "Mutable"
      },
      "ErrorOutputPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-erroroutputprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-prefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ProcessingConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-processingconfiguration",
        "Required": false,
        "Type": "ProcessingConfiguration",
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3BackupConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-s3backupconfiguration",
        "Required": false,
        "Type": "S3DestinationConfiguration",
        "UpdateType": "Mutable"
      },
      "S3BackupMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-extendeds3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration-s3backupmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.HiveJsonSerDe": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-hivejsonserde.html",
    "Properties": {
      "TimestampFormats": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-hivejsonserde.html#cfn-kinesisfirehose-deliverystream-hivejsonserde-timestampformats",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.InputFormatConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-inputformatconfiguration.html",
    "Properties": {
      "Deserializer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-inputformatconfiguration.html#cfn-kinesisfirehose-deliverystream-inputformatconfiguration-deserializer",
        "Required": true,
        "Type": "Deserializer",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.KMSEncryptionConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kmsencryptionconfig.html",
    "Properties": {
      "AWSKMSKeyARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kmsencryptionconfig.html#cfn-kinesisfirehose-deliverystream-kmsencryptionconfig-awskmskeyarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.KinesisStreamSourceConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html",
    "Properties": {
      "KinesisStreamARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html#cfn-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration-kinesisstreamarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration.html#cfn-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.OpenXJsonSerDe": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-openxjsonserde.html",
    "Properties": {
      "CaseInsensitive": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-openxjsonserde.html#cfn-kinesisfirehose-deliverystream-openxjsonserde-caseinsensitive",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ColumnToJsonKeyMappings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-openxjsonserde.html#cfn-kinesisfirehose-deliverystream-openxjsonserde-columntojsonkeymappings",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "ConvertDotsInJsonKeysToUnderscores": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-openxjsonserde.html#cfn-kinesisfirehose-deliverystream-openxjsonserde-convertdotsinjsonkeystounderscores",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.OrcSerDe": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html",
    "Properties": {
      "BlockSizeBytes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-blocksizebytes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "BloomFilterColumns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-bloomfiltercolumns",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "BloomFilterFalsePositiveProbability": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-bloomfilterfalsepositiveprobability",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Compression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-compression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DictionaryKeyThreshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-dictionarykeythreshold",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnablePadding": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-enablepadding",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FormatVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-formatversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PaddingTolerance": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-paddingtolerance",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RowIndexStride": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-rowindexstride",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StripeSizeBytes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-orcserde.html#cfn-kinesisfirehose-deliverystream-orcserde-stripesizebytes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.OutputFormatConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-outputformatconfiguration.html",
    "Properties": {
      "Serializer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-outputformatconfiguration.html#cfn-kinesisfirehose-deliverystream-outputformatconfiguration-serializer",
        "Required": true,
        "Type": "Serializer",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.ParquetSerDe": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html",
    "Properties": {
      "BlockSizeBytes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html#cfn-kinesisfirehose-deliverystream-parquetserde-blocksizebytes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Compression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html#cfn-kinesisfirehose-deliverystream-parquetserde-compression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnableDictionaryCompression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html#cfn-kinesisfirehose-deliverystream-parquetserde-enabledictionarycompression",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxPaddingBytes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html#cfn-kinesisfirehose-deliverystream-parquetserde-maxpaddingbytes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PageSizeBytes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html#cfn-kinesisfirehose-deliverystream-parquetserde-pagesizebytes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "WriterVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-parquetserde.html#cfn-kinesisfirehose-deliverystream-parquetserde-writerversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.ProcessingConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processingconfiguration.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processingconfiguration.html#cfn-kinesisfirehose-deliverystream-processingconfiguration-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Processors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processingconfiguration.html#cfn-kinesisfirehose-deliverystream-processingconfiguration-processors",
        "DuplicatesAllowed": false,
        "ItemType": "Processor",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.Processor": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processor.html",
    "Properties": {
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processor.html#cfn-kinesisfirehose-deliverystream-processor-parameters",
        "DuplicatesAllowed": false,
        "ItemType": "ProcessorParameter",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processor.html#cfn-kinesisfirehose-deliverystream-processor-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.ProcessorParameter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processorparameter.html",
    "Properties": {
      "ParameterName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processorparameter.html#cfn-kinesisfirehose-deliverystream-processorparameter-parametername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ParameterValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-processorparameter.html#cfn-kinesisfirehose-deliverystream-processorparameter-parametervalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.RedshiftDestinationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html",
    "Properties": {
      "CloudWatchLoggingOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-cloudwatchloggingoptions",
        "Required": false,
        "Type": "CloudWatchLoggingOptions",
        "UpdateType": "Mutable"
      },
      "ClusterJDBCURL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-clusterjdbcurl",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "CopyCommand": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-copycommand",
        "Required": true,
        "Type": "CopyCommand",
        "UpdateType": "Mutable"
      },
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-password",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ProcessingConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-processingconfiguration",
        "Required": false,
        "Type": "ProcessingConfiguration",
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3Configuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-s3configuration",
        "Required": true,
        "Type": "S3DestinationConfiguration",
        "UpdateType": "Mutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-redshiftdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-redshiftdestinationconfiguration-username",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.S3DestinationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html",
    "Properties": {
      "BucketARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-bucketarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "BufferingHints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-bufferinghints",
        "Required": true,
        "Type": "BufferingHints",
        "UpdateType": "Mutable"
      },
      "CloudWatchLoggingOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-cloudwatchloggingoptions",
        "Required": false,
        "Type": "CloudWatchLoggingOptions",
        "UpdateType": "Mutable"
      },
      "CompressionFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-compressionformat",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EncryptionConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-encryptionconfiguration",
        "Required": false,
        "Type": "EncryptionConfiguration",
        "UpdateType": "Mutable"
      },
      "ErrorOutputPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-erroroutputprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-prefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-s3destinationconfiguration.html#cfn-kinesisfirehose-deliverystream-s3destinationconfiguration-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.SchemaConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html",
    "Properties": {
      "CatalogId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-catalogid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-databasename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Region": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-region",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-tablename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VersionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-schemaconfiguration.html#cfn-kinesisfirehose-deliverystream-schemaconfiguration-versionid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.Serializer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-serializer.html",
    "Properties": {
      "OrcSerDe": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-serializer.html#cfn-kinesisfirehose-deliverystream-serializer-orcserde",
        "Required": false,
        "Type": "OrcSerDe",
        "UpdateType": "Mutable"
      },
      "ParquetSerDe": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-serializer.html#cfn-kinesisfirehose-deliverystream-serializer-parquetserde",
        "Required": false,
        "Type": "ParquetSerDe",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.SplunkDestinationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html",
    "Properties": {
      "CloudWatchLoggingOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-cloudwatchloggingoptions",
        "Required": false,
        "Type": "CloudWatchLoggingOptions",
        "UpdateType": "Mutable"
      },
      "HECAcknowledgmentTimeoutInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-hecacknowledgmenttimeoutinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HECEndpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-hecendpoint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "HECEndpointType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-hecendpointtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "HECToken": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-hectoken",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ProcessingConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-processingconfiguration",
        "Required": false,
        "Type": "ProcessingConfiguration",
        "UpdateType": "Mutable"
      },
      "RetryOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-retryoptions",
        "Required": false,
        "Type": "SplunkRetryOptions",
        "UpdateType": "Mutable"
      },
      "S3BackupMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-s3backupmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "S3Configuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkdestinationconfiguration.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration-s3configuration",
        "Required": true,
        "Type": "S3DestinationConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream.SplunkRetryOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkretryoptions.html",
    "Properties": {
      "DurationInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kinesisfirehose-deliverystream-splunkretryoptions.html#cfn-kinesisfirehose-deliverystream-splunkretryoptions-durationinseconds",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::LakeFormation::DataLakeSettings.Admins": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-admins.html",
    "ItemType": "DataLakePrincipal",
    "Required": false,
    "Type": "List",
    "UpdateType": "Mutable"
  },
  "AWS::LakeFormation::DataLakeSettings.DataLakePrincipal": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-datalakeprincipal.html",
    "Properties": {
      "DataLakePrincipalIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-datalakesettings-datalakeprincipal.html#cfn-lakeformation-datalakesettings-datalakeprincipal-datalakeprincipalidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::LakeFormation::Permissions.DataLakePrincipal": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalakeprincipal.html",
    "Properties": {
      "DataLakePrincipalIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-datalakeprincipal.html#cfn-lakeformation-permissions-datalakeprincipal-datalakeprincipalidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::LakeFormation::Permissions.DatabaseResource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-databaseresource.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-databaseresource.html#cfn-lakeformation-permissions-databaseresource-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::LakeFormation::Permissions.Resource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html",
    "Properties": {
      "DatabaseResource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-databaseresource",
        "Required": false,
        "Type": "DatabaseResource",
        "UpdateType": "Mutable"
      },
      "TableResource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-resource.html#cfn-lakeformation-permissions-resource-tableresource",
        "Required": false,
        "Type": "TableResource",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::LakeFormation::Permissions.TableResource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tableresource.html",
    "Properties": {
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tableresource.html#cfn-lakeformation-permissions-tableresource-databasename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tableresource.html#cfn-lakeformation-permissions-tableresource-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::Alias.AliasRoutingConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-aliasroutingconfiguration.html",
    "Properties": {
      "AdditionalVersionWeights": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-aliasroutingconfiguration.html#cfn-lambda-alias-aliasroutingconfiguration-additionalversionweights",
        "DuplicatesAllowed": false,
        "ItemType": "VersionWeight",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-provisionedconcurrencyconfiguration.html",
    "Properties": {
      "ProvisionedConcurrentExecutions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-provisionedconcurrencyconfiguration.html#cfn-lambda-alias-provisionedconcurrencyconfiguration-provisionedconcurrentexecutions",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::Alias.VersionWeight": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-versionweight.html",
    "Properties": {
      "FunctionVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-versionweight.html#cfn-lambda-alias-versionweight-functionversion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "FunctionWeight": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-versionweight.html#cfn-lambda-alias-versionweight-functionweight",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::EventInvokeConfig.DestinationConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig.html",
    "Properties": {
      "OnFailure": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig.html#cfn-lambda-eventinvokeconfig-destinationconfig-onfailure",
        "Required": false,
        "Type": "OnFailure",
        "UpdateType": "Mutable"
      },
      "OnSuccess": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig.html#cfn-lambda-eventinvokeconfig-destinationconfig-onsuccess",
        "Required": false,
        "Type": "OnSuccess",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::EventInvokeConfig.OnFailure": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig-onfailure.html",
    "Properties": {
      "Destination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig-onfailure.html#cfn-lambda-eventinvokeconfig-destinationconfig-onfailure-destination",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::EventInvokeConfig.OnSuccess": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig-onsuccess.html",
    "Properties": {
      "Destination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig-onsuccess.html#cfn-lambda-eventinvokeconfig-destinationconfig-onsuccess-destination",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::EventSourceMapping.DestinationConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html",
    "Properties": {
      "OnFailure": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html#cfn-lambda-eventsourcemapping-destinationconfig-onfailure",
        "Required": true,
        "Type": "OnFailure",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::EventSourceMapping.OnFailure": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-onfailure.html",
    "Properties": {
      "Destination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-onfailure.html#cfn-lambda-eventsourcemapping-onfailure-destination",
        "PrimitiveType": "String",
        "Required": true,
        "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::Lambda::Function.DeadLetterConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-deadletterconfig.html",
    "Properties": {
      "TargetArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-deadletterconfig.html#cfn-lambda-function-deadletterconfig-targetarn",
        "PrimitiveType": "String",
        "Required": false,
        "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::Lambda::Function.TracingConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-tracingconfig.html",
    "Properties": {
      "Mode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-tracingconfig.html#cfn-lambda-function-tracingconfig-mode",
        "PrimitiveType": "String",
        "Required": false,
        "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::Lambda::LayerVersion.Content": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html",
    "Properties": {
      "S3Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "S3Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "S3ObjectVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3objectversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Lambda::Version.ProvisionedConcurrencyConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-version-provisionedconcurrencyconfiguration.html",
    "Properties": {
      "ProvisionedConcurrentExecutions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-version-provisionedconcurrencyconfiguration.html#cfn-lambda-version-provisionedconcurrencyconfiguration-provisionedconcurrentexecutions",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Logs::MetricFilter.MetricTransformation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html",
    "Properties": {
      "DefaultValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-cwl-metricfilter-metrictransformation-defaultvalue",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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::MSK::Cluster.BrokerNodeGroupInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html",
    "Properties": {
      "BrokerAZDistribution": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-brokerazdistribution",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ClientSubnets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-clientsubnets",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-securitygroups",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "StorageInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html#cfn-msk-cluster-brokernodegroupinfo-storageinfo",
        "Required": false,
        "Type": "StorageInfo",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::MSK::Cluster.ClientAuthentication": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html",
    "Properties": {
      "Tls": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-clientauthentication.html#cfn-msk-cluster-clientauthentication-tls",
        "Required": false,
        "Type": "Tls",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::MSK::Cluster.ConfigurationInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-configurationinfo.html",
    "Properties": {
      "Arn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-configurationinfo.html#cfn-msk-cluster-configurationinfo-arn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Revision": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-configurationinfo.html#cfn-msk-cluster-configurationinfo-revision",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::MSK::Cluster.EBSStorageInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html",
    "Properties": {
      "VolumeSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-ebsstorageinfo.html#cfn-msk-cluster-ebsstorageinfo-volumesize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::MSK::Cluster.EncryptionAtRest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionatrest.html",
    "Properties": {
      "DataVolumeKMSKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionatrest.html#cfn-msk-cluster-encryptionatrest-datavolumekmskeyid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::MSK::Cluster.EncryptionInTransit": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionintransit.html",
    "Properties": {
      "ClientBroker": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionintransit.html#cfn-msk-cluster-encryptionintransit-clientbroker",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "InCluster": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptionintransit.html#cfn-msk-cluster-encryptionintransit-incluster",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::MSK::Cluster.EncryptionInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptioninfo.html",
    "Properties": {
      "EncryptionAtRest": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptioninfo.html#cfn-msk-cluster-encryptioninfo-encryptionatrest",
        "Required": false,
        "Type": "EncryptionAtRest",
        "UpdateType": "Immutable"
      },
      "EncryptionInTransit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-encryptioninfo.html#cfn-msk-cluster-encryptioninfo-encryptionintransit",
        "Required": false,
        "Type": "EncryptionInTransit",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::MSK::Cluster.JmxExporter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-jmxexporter.html",
    "Properties": {
      "EnabledInBroker": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-jmxexporter.html#cfn-msk-cluster-jmxexporter-enabledinbroker",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MSK::Cluster.NodeExporter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-nodeexporter.html",
    "Properties": {
      "EnabledInBroker": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-nodeexporter.html#cfn-msk-cluster-nodeexporter-enabledinbroker",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MSK::Cluster.OpenMonitoring": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-openmonitoring.html",
    "Properties": {
      "Prometheus": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-openmonitoring.html#cfn-msk-cluster-openmonitoring-prometheus",
        "Required": true,
        "Type": "Prometheus",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MSK::Cluster.Prometheus": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html",
    "Properties": {
      "JmxExporter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html#cfn-msk-cluster-prometheus-jmxexporter",
        "Required": false,
        "Type": "JmxExporter",
        "UpdateType": "Mutable"
      },
      "NodeExporter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-prometheus.html#cfn-msk-cluster-prometheus-nodeexporter",
        "Required": false,
        "Type": "NodeExporter",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MSK::Cluster.StorageInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-storageinfo.html",
    "Properties": {
      "EBSStorageInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-storageinfo.html#cfn-msk-cluster-storageinfo-ebsstorageinfo",
        "Required": false,
        "Type": "EBSStorageInfo",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::MSK::Cluster.Tls": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-tls.html",
    "Properties": {
      "CertificateAuthorityArnList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-tls.html#cfn-msk-cluster-tls-certificateauthorityarnlist",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ManagedBlockchain::Member.ApprovalThresholdPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html",
    "Properties": {
      "ProposalDurationInHours": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html#cfn-managedblockchain-member-approvalthresholdpolicy-proposaldurationinhours",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThresholdComparator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html#cfn-managedblockchain-member-approvalthresholdpolicy-thresholdcomparator",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThresholdPercentage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-approvalthresholdpolicy.html#cfn-managedblockchain-member-approvalthresholdpolicy-thresholdpercentage",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ManagedBlockchain::Member.MemberConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberconfiguration.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberconfiguration.html#cfn-managedblockchain-member-memberconfiguration-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MemberFrameworkConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberconfiguration.html#cfn-managedblockchain-member-memberconfiguration-memberframeworkconfiguration",
        "Required": false,
        "Type": "MemberFrameworkConfiguration",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberconfiguration.html#cfn-managedblockchain-member-memberconfiguration-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ManagedBlockchain::Member.MemberFabricConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberfabricconfiguration.html",
    "Properties": {
      "AdminPassword": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberfabricconfiguration.html#cfn-managedblockchain-member-memberfabricconfiguration-adminpassword",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "AdminUsername": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberfabricconfiguration.html#cfn-managedblockchain-member-memberfabricconfiguration-adminusername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ManagedBlockchain::Member.MemberFrameworkConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberframeworkconfiguration.html",
    "Properties": {
      "MemberFabricConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-memberframeworkconfiguration.html#cfn-managedblockchain-member-memberframeworkconfiguration-memberfabricconfiguration",
        "Required": false,
        "Type": "MemberFabricConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ManagedBlockchain::Member.NetworkConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Framework": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-framework",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "FrameworkVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-frameworkversion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "NetworkFrameworkConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-networkframeworkconfiguration",
        "Required": false,
        "Type": "NetworkFrameworkConfiguration",
        "UpdateType": "Mutable"
      },
      "VotingPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkconfiguration.html#cfn-managedblockchain-member-networkconfiguration-votingpolicy",
        "Required": true,
        "Type": "VotingPolicy",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ManagedBlockchain::Member.NetworkFabricConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkfabricconfiguration.html",
    "Properties": {
      "Edition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkfabricconfiguration.html#cfn-managedblockchain-member-networkfabricconfiguration-edition",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ManagedBlockchain::Member.NetworkFrameworkConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkframeworkconfiguration.html",
    "Properties": {
      "NetworkFabricConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-networkframeworkconfiguration.html#cfn-managedblockchain-member-networkframeworkconfiguration-networkfabricconfiguration",
        "Required": false,
        "Type": "NetworkFabricConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ManagedBlockchain::Member.VotingPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-votingpolicy.html",
    "Properties": {
      "ApprovalThresholdPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-member-votingpolicy.html#cfn-managedblockchain-member-votingpolicy-approvalthresholdpolicy",
        "Required": false,
        "Type": "ApprovalThresholdPolicy",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ManagedBlockchain::Node.NodeConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-node-nodeconfiguration.html",
    "Properties": {
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-node-nodeconfiguration.html#cfn-managedblockchain-node-nodeconfiguration-availabilityzone",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-managedblockchain-node-nodeconfiguration.html#cfn-managedblockchain-node-nodeconfiguration-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaConvert::JobTemplate.AccelerationSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-accelerationsettings.html",
    "Properties": {
      "Mode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediaconvert-jobtemplate-accelerationsettings.html#cfn-mediaconvert-jobtemplate-accelerationsettings-mode",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.AribSourceSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-aribsourcesettings.html",
    "Properties": {}
  },
  "AWS::MediaLive::Channel.AudioLanguageSelection": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiolanguageselection.html",
    "Properties": {
      "LanguageCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiolanguageselection.html#cfn-medialive-channel-audiolanguageselection-languagecode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LanguageSelectionPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiolanguageselection.html#cfn-medialive-channel-audiolanguageselection-languageselectionpolicy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.AudioPidSelection": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiopidselection.html",
    "Properties": {
      "Pid": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audiopidselection.html#cfn-medialive-channel-audiopidselection-pid",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.AudioSelector": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselector.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselector.html#cfn-medialive-channel-audioselector-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SelectorSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselector.html#cfn-medialive-channel-audioselector-selectorsettings",
        "Required": false,
        "Type": "AudioSelectorSettings",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.AudioSelectorSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselectorsettings.html",
    "Properties": {
      "AudioLanguageSelection": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselectorsettings.html#cfn-medialive-channel-audioselectorsettings-audiolanguageselection",
        "Required": false,
        "Type": "AudioLanguageSelection",
        "UpdateType": "Mutable"
      },
      "AudioPidSelection": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-audioselectorsettings.html#cfn-medialive-channel-audioselectorsettings-audiopidselection",
        "Required": false,
        "Type": "AudioPidSelection",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.CaptionSelector": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselector.html",
    "Properties": {
      "LanguageCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselector.html#cfn-medialive-channel-captionselector-languagecode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselector.html#cfn-medialive-channel-captionselector-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SelectorSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselector.html#cfn-medialive-channel-captionselector-selectorsettings",
        "Required": false,
        "Type": "CaptionSelectorSettings",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.CaptionSelectorSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html",
    "Properties": {
      "AribSourceSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-aribsourcesettings",
        "Required": false,
        "Type": "AribSourceSettings",
        "UpdateType": "Mutable"
      },
      "DvbSubSourceSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-dvbsubsourcesettings",
        "Required": false,
        "Type": "DvbSubSourceSettings",
        "UpdateType": "Mutable"
      },
      "EmbeddedSourceSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-embeddedsourcesettings",
        "Required": false,
        "Type": "EmbeddedSourceSettings",
        "UpdateType": "Mutable"
      },
      "Scte20SourceSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-scte20sourcesettings",
        "Required": false,
        "Type": "Scte20SourceSettings",
        "UpdateType": "Mutable"
      },
      "Scte27SourceSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-scte27sourcesettings",
        "Required": false,
        "Type": "Scte27SourceSettings",
        "UpdateType": "Mutable"
      },
      "TeletextSourceSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-captionselectorsettings.html#cfn-medialive-channel-captionselectorsettings-teletextsourcesettings",
        "Required": false,
        "Type": "TeletextSourceSettings",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.DvbSubSourceSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubsourcesettings.html",
    "Properties": {
      "Pid": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-dvbsubsourcesettings.html#cfn-medialive-channel-dvbsubsourcesettings-pid",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.EmbeddedSourceSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-embeddedsourcesettings.html",
    "Properties": {
      "Convert608To708": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-embeddedsourcesettings.html#cfn-medialive-channel-embeddedsourcesettings-convert608to708",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Scte20Detection": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-embeddedsourcesettings.html#cfn-medialive-channel-embeddedsourcesettings-scte20detection",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Source608ChannelNumber": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-embeddedsourcesettings.html#cfn-medialive-channel-embeddedsourcesettings-source608channelnumber",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Source608TrackNumber": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-embeddedsourcesettings.html#cfn-medialive-channel-embeddedsourcesettings-source608tracknumber",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.HlsInputSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsinputsettings.html",
    "Properties": {
      "Bandwidth": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsinputsettings.html#cfn-medialive-channel-hlsinputsettings-bandwidth",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "BufferSegments": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsinputsettings.html#cfn-medialive-channel-hlsinputsettings-buffersegments",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Retries": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsinputsettings.html#cfn-medialive-channel-hlsinputsettings-retries",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RetryInterval": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-hlsinputsettings.html#cfn-medialive-channel-hlsinputsettings-retryinterval",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.InputAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputattachment.html",
    "Properties": {
      "InputAttachmentName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputattachment.html#cfn-medialive-channel-inputattachment-inputattachmentname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InputId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputattachment.html#cfn-medialive-channel-inputattachment-inputid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "InputSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputattachment.html#cfn-medialive-channel-inputattachment-inputsettings",
        "Required": false,
        "Type": "InputSettings",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.InputSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html",
    "Properties": {
      "AudioSelectors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-audioselectors",
        "ItemType": "AudioSelector",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CaptionSelectors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-captionselectors",
        "ItemType": "CaptionSelector",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DeblockFilter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-deblockfilter",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DenoiseFilter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-denoisefilter",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FilterStrength": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-filterstrength",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InputFilter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-inputfilter",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NetworkInputSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-networkinputsettings",
        "Required": false,
        "Type": "NetworkInputSettings",
        "UpdateType": "Mutable"
      },
      "SourceEndBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-sourceendbehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VideoSelector": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputsettings.html#cfn-medialive-channel-inputsettings-videoselector",
        "Required": false,
        "Type": "VideoSelector",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.InputSpecification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputspecification.html",
    "Properties": {
      "Codec": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputspecification.html#cfn-medialive-channel-inputspecification-codec",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaximumBitrate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputspecification.html#cfn-medialive-channel-inputspecification-maximumbitrate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Resolution": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-inputspecification.html#cfn-medialive-channel-inputspecification-resolution",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.MediaPackageOutputDestinationSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mediapackageoutputdestinationsettings.html",
    "Properties": {
      "ChannelId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-mediapackageoutputdestinationsettings.html#cfn-medialive-channel-mediapackageoutputdestinationsettings-channelid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.NetworkInputSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-networkinputsettings.html",
    "Properties": {
      "HlsInputSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-networkinputsettings.html#cfn-medialive-channel-networkinputsettings-hlsinputsettings",
        "Required": false,
        "Type": "HlsInputSettings",
        "UpdateType": "Mutable"
      },
      "ServerValidation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-networkinputsettings.html#cfn-medialive-channel-networkinputsettings-servervalidation",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.OutputDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestination.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestination.html#cfn-medialive-channel-outputdestination-id",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MediaPackageSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestination.html#cfn-medialive-channel-outputdestination-mediapackagesettings",
        "ItemType": "MediaPackageOutputDestinationSettings",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Settings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestination.html#cfn-medialive-channel-outputdestination-settings",
        "ItemType": "OutputDestinationSettings",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.OutputDestinationSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html",
    "Properties": {
      "PasswordParam": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html#cfn-medialive-channel-outputdestinationsettings-passwordparam",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html#cfn-medialive-channel-outputdestinationsettings-streamname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Url": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html#cfn-medialive-channel-outputdestinationsettings-url",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-outputdestinationsettings.html#cfn-medialive-channel-outputdestinationsettings-username",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.Scte20SourceSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte20sourcesettings.html",
    "Properties": {
      "Convert608To708": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte20sourcesettings.html#cfn-medialive-channel-scte20sourcesettings-convert608to708",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Source608ChannelNumber": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte20sourcesettings.html#cfn-medialive-channel-scte20sourcesettings-source608channelnumber",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.Scte27SourceSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte27sourcesettings.html",
    "Properties": {
      "Pid": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-scte27sourcesettings.html#cfn-medialive-channel-scte27sourcesettings-pid",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.TeletextSourceSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-teletextsourcesettings.html",
    "Properties": {
      "PageNumber": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-teletextsourcesettings.html#cfn-medialive-channel-teletextsourcesettings-pagenumber",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.VideoSelector": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselector.html",
    "Properties": {
      "ColorSpace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselector.html#cfn-medialive-channel-videoselector-colorspace",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ColorSpaceUsage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselector.html#cfn-medialive-channel-videoselector-colorspaceusage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SelectorSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselector.html#cfn-medialive-channel-videoselector-selectorsettings",
        "Required": false,
        "Type": "VideoSelectorSettings",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.VideoSelectorPid": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorpid.html",
    "Properties": {
      "Pid": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorpid.html#cfn-medialive-channel-videoselectorpid-pid",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.VideoSelectorProgramId": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorprogramid.html",
    "Properties": {
      "ProgramId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorprogramid.html#cfn-medialive-channel-videoselectorprogramid-programid",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel.VideoSelectorSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorsettings.html",
    "Properties": {
      "VideoSelectorPid": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorsettings.html#cfn-medialive-channel-videoselectorsettings-videoselectorpid",
        "Required": false,
        "Type": "VideoSelectorPid",
        "UpdateType": "Mutable"
      },
      "VideoSelectorProgramId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-channel-videoselectorsettings.html#cfn-medialive-channel-videoselectorsettings-videoselectorprogramid",
        "Required": false,
        "Type": "VideoSelectorProgramId",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Input.InputDestinationRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputdestinationrequest.html",
    "Properties": {
      "StreamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputdestinationrequest.html#cfn-medialive-input-inputdestinationrequest-streamname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Input.InputSourceRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputsourcerequest.html",
    "Properties": {
      "PasswordParam": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputsourcerequest.html#cfn-medialive-input-inputsourcerequest-passwordparam",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Url": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputsourcerequest.html#cfn-medialive-input-inputsourcerequest-url",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputsourcerequest.html#cfn-medialive-input-inputsourcerequest-username",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Input.InputVpcRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputvpcrequest.html",
    "Properties": {
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputvpcrequest.html#cfn-medialive-input-inputvpcrequest-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-inputvpcrequest.html#cfn-medialive-input-inputvpcrequest-subnetids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Input.MediaConnectFlowRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-mediaconnectflowrequest.html",
    "Properties": {
      "FlowArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-input-mediaconnectflowrequest.html#cfn-medialive-input-mediaconnectflowrequest-flowarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::InputSecurityGroup.InputWhitelistRuleCidr": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-inputsecuritygroup-inputwhitelistrulecidr.html",
    "Properties": {
      "Cidr": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-medialive-inputsecuritygroup-inputwhitelistrulecidr.html#cfn-medialive-inputsecuritygroup-inputwhitelistrulecidr-cidr",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaStore::Container.CorsRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html",
    "Properties": {
      "AllowedHeaders": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html#cfn-mediastore-container-corsrule-allowedheaders",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AllowedMethods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html#cfn-mediastore-container-corsrule-allowedmethods",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "AllowedOrigins": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html#cfn-mediastore-container-corsrule-allowedorigins",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ExposeHeaders": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html#cfn-mediastore-container-corsrule-exposeheaders",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MaxAgeSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediastore-container-corsrule.html#cfn-mediastore-container-corsrule-maxageseconds",
        "PrimitiveType": "Integer",
        "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::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::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::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::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::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::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::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.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::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::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::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::OpsWorks::Layer.VolumeConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html",
    "Properties": {
      "Encrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworks-layer-volumeconfiguration.html#cfn-opsworks-layer-volumeconfiguration-encrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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::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"
      }
    }
  },
  "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::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::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::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::OpsWorksCM::Server.EngineAttribute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworkscm-server-engineattribute.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworkscm-server-engineattribute.html#cfn-opsworkscm-server-engineattribute-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-opsworkscm-server-engineattribute.html#cfn-opsworkscm-server-engineattribute-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::ApplicationSettings.CampaignHook": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-campaignhook.html",
    "Properties": {
      "LambdaFunctionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-campaignhook.html#cfn-pinpoint-applicationsettings-campaignhook-lambdafunctionname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Mode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-campaignhook.html#cfn-pinpoint-applicationsettings-campaignhook-mode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "WebUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-campaignhook.html#cfn-pinpoint-applicationsettings-campaignhook-weburl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::ApplicationSettings.Limits": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-limits.html",
    "Properties": {
      "Daily": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-limits.html#cfn-pinpoint-applicationsettings-limits-daily",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaximumDuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-limits.html#cfn-pinpoint-applicationsettings-limits-maximumduration",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MessagesPerSecond": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-limits.html#cfn-pinpoint-applicationsettings-limits-messagespersecond",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Total": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-limits.html#cfn-pinpoint-applicationsettings-limits-total",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::ApplicationSettings.QuietTime": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-quiettime.html",
    "Properties": {
      "End": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-quiettime.html#cfn-pinpoint-applicationsettings-quiettime-end",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Start": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-applicationsettings-quiettime.html#cfn-pinpoint-applicationsettings-quiettime-start",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.AttributeDimension": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-attributedimension.html",
    "Properties": {
      "AttributeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-attributedimension.html#cfn-pinpoint-campaign-attributedimension-attributetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-attributedimension.html#cfn-pinpoint-campaign-attributedimension-values",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.CampaignEmailMessage": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignemailmessage.html",
    "Properties": {
      "Body": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignemailmessage.html#cfn-pinpoint-campaign-campaignemailmessage-body",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FromAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignemailmessage.html#cfn-pinpoint-campaign-campaignemailmessage-fromaddress",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HtmlBody": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignemailmessage.html#cfn-pinpoint-campaign-campaignemailmessage-htmlbody",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Title": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignemailmessage.html#cfn-pinpoint-campaign-campaignemailmessage-title",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.CampaignEventFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaigneventfilter.html",
    "Properties": {
      "Dimensions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaigneventfilter.html#cfn-pinpoint-campaign-campaigneventfilter-dimensions",
        "Required": false,
        "Type": "EventDimensions",
        "UpdateType": "Mutable"
      },
      "FilterType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaigneventfilter.html#cfn-pinpoint-campaign-campaigneventfilter-filtertype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.CampaignHook": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignhook.html",
    "Properties": {
      "LambdaFunctionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignhook.html#cfn-pinpoint-campaign-campaignhook-lambdafunctionname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Mode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignhook.html#cfn-pinpoint-campaign-campaignhook-mode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "WebUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignhook.html#cfn-pinpoint-campaign-campaignhook-weburl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.CampaignSmsMessage": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html",
    "Properties": {
      "Body": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-body",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MessageType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-messagetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SenderId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-campaignsmsmessage.html#cfn-pinpoint-campaign-campaignsmsmessage-senderid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.EventDimensions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-eventdimensions.html",
    "Properties": {
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-eventdimensions.html#cfn-pinpoint-campaign-eventdimensions-attributes",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EventType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-eventdimensions.html#cfn-pinpoint-campaign-eventdimensions-eventtype",
        "Required": false,
        "Type": "SetDimension",
        "UpdateType": "Mutable"
      },
      "Metrics": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-eventdimensions.html#cfn-pinpoint-campaign-eventdimensions-metrics",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.Limits": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-limits.html",
    "Properties": {
      "Daily": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-limits.html#cfn-pinpoint-campaign-limits-daily",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaximumDuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-limits.html#cfn-pinpoint-campaign-limits-maximumduration",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MessagesPerSecond": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-limits.html#cfn-pinpoint-campaign-limits-messagespersecond",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Total": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-limits.html#cfn-pinpoint-campaign-limits-total",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.Message": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-action",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Body": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-body",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ImageIconUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-imageiconurl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ImageSmallIconUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-imagesmalliconurl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ImageUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-imageurl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "JsonBody": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-jsonbody",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MediaUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-mediaurl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RawContent": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-rawcontent",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SilentPush": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-silentpush",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TimeToLive": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-timetolive",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Title": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-title",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Url": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-message.html#cfn-pinpoint-campaign-message-url",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.MessageConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html",
    "Properties": {
      "ADMMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-admmessage",
        "Required": false,
        "Type": "Message",
        "UpdateType": "Mutable"
      },
      "APNSMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-apnsmessage",
        "Required": false,
        "Type": "Message",
        "UpdateType": "Mutable"
      },
      "BaiduMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-baidumessage",
        "Required": false,
        "Type": "Message",
        "UpdateType": "Mutable"
      },
      "DefaultMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-defaultmessage",
        "Required": false,
        "Type": "Message",
        "UpdateType": "Mutable"
      },
      "EmailMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-emailmessage",
        "Required": false,
        "Type": "CampaignEmailMessage",
        "UpdateType": "Mutable"
      },
      "GCMMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-gcmmessage",
        "Required": false,
        "Type": "Message",
        "UpdateType": "Mutable"
      },
      "SMSMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-messageconfiguration.html#cfn-pinpoint-campaign-messageconfiguration-smsmessage",
        "Required": false,
        "Type": "CampaignSmsMessage",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.MetricDimension": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-metricdimension.html",
    "Properties": {
      "ComparisonOperator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-metricdimension.html#cfn-pinpoint-campaign-metricdimension-comparisonoperator",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-metricdimension.html#cfn-pinpoint-campaign-metricdimension-value",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.QuietTime": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule-quiettime.html",
    "Properties": {
      "End": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule-quiettime.html#cfn-pinpoint-campaign-schedule-quiettime-end",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Start": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule-quiettime.html#cfn-pinpoint-campaign-schedule-quiettime-start",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.Schedule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html",
    "Properties": {
      "EndTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-endtime",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EventFilter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-eventfilter",
        "Required": false,
        "Type": "CampaignEventFilter",
        "UpdateType": "Mutable"
      },
      "Frequency": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-frequency",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IsLocalTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-islocaltime",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "QuietTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-quiettime",
        "Required": false,
        "Type": "QuietTime",
        "UpdateType": "Mutable"
      },
      "StartTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-starttime",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TimeZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-schedule.html#cfn-pinpoint-campaign-schedule-timezone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.SetDimension": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-setdimension.html",
    "Properties": {
      "DimensionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-setdimension.html#cfn-pinpoint-campaign-setdimension-dimensiontype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-setdimension.html#cfn-pinpoint-campaign-setdimension-values",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign.WriteTreatmentResource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html",
    "Properties": {
      "MessageConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-messageconfiguration",
        "Required": false,
        "Type": "MessageConfiguration",
        "UpdateType": "Mutable"
      },
      "Schedule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-schedule",
        "Required": false,
        "Type": "Schedule",
        "UpdateType": "Mutable"
      },
      "SizePercent": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-sizepercent",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TreatmentDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-treatmentdescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TreatmentName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-campaign-writetreatmentresource.html#cfn-pinpoint-campaign-writetreatmentresource-treatmentname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::PushTemplate.APNSPushNotificationTemplate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-action",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Body": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-body",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MediaUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-mediaurl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Sound": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-sound",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Title": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-title",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Url": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-apnspushnotificationtemplate.html#cfn-pinpoint-pushtemplate-apnspushnotificationtemplate-url",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::PushTemplate.AndroidPushNotificationTemplate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-action",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Body": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-body",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ImageIconUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-imageiconurl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ImageUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-imageurl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SmallImageIconUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-smallimageiconurl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Sound": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-sound",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Title": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-title",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Url": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-androidpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-androidpushnotificationtemplate-url",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::PushTemplate.DefaultPushNotificationTemplate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-action",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Body": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-body",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Sound": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-sound",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Title": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-title",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Url": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-pushtemplate-defaultpushnotificationtemplate.html#cfn-pinpoint-pushtemplate-defaultpushnotificationtemplate-url",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment.AttributeDimension": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-attributedimension.html",
    "Properties": {
      "AttributeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-attributedimension.html#cfn-pinpoint-segment-attributedimension-attributetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-attributedimension.html#cfn-pinpoint-segment-attributedimension-values",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment.Behavior": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-behavior.html",
    "Properties": {
      "Recency": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-behavior.html#cfn-pinpoint-segment-segmentdimensions-behavior-recency",
        "Required": false,
        "Type": "Recency",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment.Coordinates": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location-gpspoint-coordinates.html",
    "Properties": {
      "Latitude": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location-gpspoint-coordinates.html#cfn-pinpoint-segment-segmentdimensions-location-gpspoint-coordinates-latitude",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Longitude": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location-gpspoint-coordinates.html#cfn-pinpoint-segment-segmentdimensions-location-gpspoint-coordinates-longitude",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment.Demographic": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html",
    "Properties": {
      "AppVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html#cfn-pinpoint-segment-segmentdimensions-demographic-appversion",
        "Required": false,
        "Type": "SetDimension",
        "UpdateType": "Mutable"
      },
      "Channel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html#cfn-pinpoint-segment-segmentdimensions-demographic-channel",
        "Required": false,
        "Type": "SetDimension",
        "UpdateType": "Mutable"
      },
      "DeviceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html#cfn-pinpoint-segment-segmentdimensions-demographic-devicetype",
        "Required": false,
        "Type": "SetDimension",
        "UpdateType": "Mutable"
      },
      "Make": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html#cfn-pinpoint-segment-segmentdimensions-demographic-make",
        "Required": false,
        "Type": "SetDimension",
        "UpdateType": "Mutable"
      },
      "Model": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html#cfn-pinpoint-segment-segmentdimensions-demographic-model",
        "Required": false,
        "Type": "SetDimension",
        "UpdateType": "Mutable"
      },
      "Platform": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-demographic.html#cfn-pinpoint-segment-segmentdimensions-demographic-platform",
        "Required": false,
        "Type": "SetDimension",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment.GPSPoint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location-gpspoint.html",
    "Properties": {
      "Coordinates": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location-gpspoint.html#cfn-pinpoint-segment-segmentdimensions-location-gpspoint-coordinates",
        "Required": true,
        "Type": "Coordinates",
        "UpdateType": "Mutable"
      },
      "RangeInKilometers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location-gpspoint.html#cfn-pinpoint-segment-segmentdimensions-location-gpspoint-rangeinkilometers",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment.Groups": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups.html",
    "Properties": {
      "Dimensions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups.html#cfn-pinpoint-segment-segmentgroups-groups-dimensions",
        "ItemType": "SegmentDimensions",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SourceSegments": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups.html#cfn-pinpoint-segment-segmentgroups-groups-sourcesegments",
        "ItemType": "SourceSegments",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups.html#cfn-pinpoint-segment-segmentgroups-groups-sourcetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups.html#cfn-pinpoint-segment-segmentgroups-groups-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment.Location": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location.html",
    "Properties": {
      "Country": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location.html#cfn-pinpoint-segment-segmentdimensions-location-country",
        "Required": false,
        "Type": "SetDimension",
        "UpdateType": "Mutable"
      },
      "GPSPoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-location.html#cfn-pinpoint-segment-segmentdimensions-location-gpspoint",
        "Required": false,
        "Type": "GPSPoint",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment.Recency": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-behavior-recency.html",
    "Properties": {
      "Duration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-behavior-recency.html#cfn-pinpoint-segment-segmentdimensions-behavior-recency-duration",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RecencyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions-behavior-recency.html#cfn-pinpoint-segment-segmentdimensions-behavior-recency-recencytype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment.SegmentDimensions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html",
    "Properties": {
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html#cfn-pinpoint-segment-segmentdimensions-attributes",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Behavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html#cfn-pinpoint-segment-segmentdimensions-behavior",
        "Required": false,
        "Type": "Behavior",
        "UpdateType": "Mutable"
      },
      "Demographic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html#cfn-pinpoint-segment-segmentdimensions-demographic",
        "Required": false,
        "Type": "Demographic",
        "UpdateType": "Mutable"
      },
      "Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html#cfn-pinpoint-segment-segmentdimensions-location",
        "Required": false,
        "Type": "Location",
        "UpdateType": "Mutable"
      },
      "Metrics": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html#cfn-pinpoint-segment-segmentdimensions-metrics",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentdimensions.html#cfn-pinpoint-segment-segmentdimensions-userattributes",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment.SegmentGroups": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups.html",
    "Properties": {
      "Groups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups.html#cfn-pinpoint-segment-segmentgroups-groups",
        "ItemType": "Groups",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Include": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups.html#cfn-pinpoint-segment-segmentgroups-include",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment.SetDimension": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-setdimension.html",
    "Properties": {
      "DimensionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-setdimension.html#cfn-pinpoint-segment-setdimension-dimensiontype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-setdimension.html#cfn-pinpoint-segment-setdimension-values",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment.SourceSegments": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups-sourcesegments.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups-sourcesegments.html#cfn-pinpoint-segment-segmentgroups-groups-sourcesegments-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpoint-segment-segmentgroups-groups-sourcesegments.html#cfn-pinpoint-segment-segmentgroups-groups-sourcesegments-version",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSet.DeliveryOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-deliveryoptions.html",
    "Properties": {
      "SendingPoolName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-deliveryoptions.html#cfn-pinpointemail-configurationset-deliveryoptions-sendingpoolname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSet.ReputationOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-reputationoptions.html",
    "Properties": {
      "ReputationMetricsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-reputationoptions.html#cfn-pinpointemail-configurationset-reputationoptions-reputationmetricsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSet.SendingOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-sendingoptions.html",
    "Properties": {
      "SendingEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-sendingoptions.html#cfn-pinpointemail-configurationset-sendingoptions-sendingenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSet.Tags": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-tags.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-tags.html#cfn-pinpointemail-configurationset-tags-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-tags.html#cfn-pinpointemail-configurationset-tags-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSet.TrackingOptions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-trackingoptions.html",
    "Properties": {
      "CustomRedirectDomain": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationset-trackingoptions.html#cfn-pinpointemail-configurationset-trackingoptions-customredirectdomain",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSetEventDestination.CloudWatchDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-cloudwatchdestination.html",
    "Properties": {
      "DimensionConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-cloudwatchdestination.html#cfn-pinpointemail-configurationseteventdestination-cloudwatchdestination-dimensionconfigurations",
        "ItemType": "DimensionConfiguration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSetEventDestination.DimensionConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-dimensionconfiguration.html",
    "Properties": {
      "DefaultDimensionValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-dimensionconfiguration.html#cfn-pinpointemail-configurationseteventdestination-dimensionconfiguration-defaultdimensionvalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DimensionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-dimensionconfiguration.html#cfn-pinpointemail-configurationseteventdestination-dimensionconfiguration-dimensionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DimensionValueSource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-dimensionconfiguration.html#cfn-pinpointemail-configurationseteventdestination-dimensionconfiguration-dimensionvaluesource",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSetEventDestination.EventDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html",
    "Properties": {
      "CloudWatchDestination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination-cloudwatchdestination",
        "Required": false,
        "Type": "CloudWatchDestination",
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KinesisFirehoseDestination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination-kinesisfirehosedestination",
        "Required": false,
        "Type": "KinesisFirehoseDestination",
        "UpdateType": "Mutable"
      },
      "MatchingEventTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination-matchingeventtypes",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PinpointDestination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination-pinpointdestination",
        "Required": false,
        "Type": "PinpointDestination",
        "UpdateType": "Mutable"
      },
      "SnsDestination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-eventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination-snsdestination",
        "Required": false,
        "Type": "SnsDestination",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSetEventDestination.KinesisFirehoseDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-kinesisfirehosedestination.html",
    "Properties": {
      "DeliveryStreamArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-kinesisfirehosedestination.html#cfn-pinpointemail-configurationseteventdestination-kinesisfirehosedestination-deliverystreamarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IamRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-kinesisfirehosedestination.html#cfn-pinpointemail-configurationseteventdestination-kinesisfirehosedestination-iamrolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSetEventDestination.PinpointDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-pinpointdestination.html",
    "Properties": {
      "ApplicationArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-pinpointdestination.html#cfn-pinpointemail-configurationseteventdestination-pinpointdestination-applicationarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSetEventDestination.SnsDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-snsdestination.html",
    "Properties": {
      "TopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-configurationseteventdestination-snsdestination.html#cfn-pinpointemail-configurationseteventdestination-snsdestination-topicarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::DedicatedIpPool.Tags": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-dedicatedippool-tags.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-dedicatedippool-tags.html#cfn-pinpointemail-dedicatedippool-tags-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-dedicatedippool-tags.html#cfn-pinpointemail-dedicatedippool-tags-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::Identity.MailFromAttributes": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-identity-mailfromattributes.html",
    "Properties": {
      "BehaviorOnMxFailure": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-identity-mailfromattributes.html#cfn-pinpointemail-identity-mailfromattributes-behavioronmxfailure",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MailFromDomain": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-identity-mailfromattributes.html#cfn-pinpointemail-identity-mailfromattributes-mailfromdomain",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::Identity.Tags": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-identity-tags.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-identity-tags.html#cfn-pinpointemail-identity-tags-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-pinpointemail-identity-tags.html#cfn-pinpointemail-identity-tags-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::DBCluster.DBClusterRole": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html",
    "Properties": {
      "FeatureName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-featurename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-dbclusterrole.html#cfn-rds-dbcluster-dbclusterrole-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::DBCluster.ScalingConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html",
    "Properties": {
      "AutoPause": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-autopause",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-maxcapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MinCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-mincapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecondsUntilAutoPause": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbcluster-scalingconfiguration.html#cfn-rds-dbcluster-scalingconfiguration-secondsuntilautopause",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::DBInstance.DBInstanceRole": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html",
    "Properties": {
      "FeatureName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-featurename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-dbinstancerole.html#cfn-rds-dbinstance-dbinstancerole-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::DBInstance.ProcessorFeature": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-processorfeature.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-processorfeature.html#cfn-rds-dbinstance-processorfeature-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-dbinstance-processorfeature.html#cfn-rds-dbinstance-processorfeature-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::DBSecurityGroup.Ingress": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-security-group-rule.html",
    "Properties": {
      "CIDRIP": {
        "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::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",
        "DuplicatesAllowed": false,
        "ItemType": "OptionSetting",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "OptionVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-optiongroup-optionconfigurations.html#cfn-rds-optiongroup-optionconfiguration-optionversion",
        "PrimitiveType": "String",
        "Required": false,
        "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::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::Redshift::Cluster.LoggingProperties": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshift-cluster-loggingproperties.html",
    "Properties": {
      "BucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshift-cluster-loggingproperties.html#cfn-redshift-cluster-loggingproperties-bucketname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3KeyPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshift-cluster-loggingproperties.html#cfn-redshift-cluster-loggingproperties-s3keyprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "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::RoboMaker::RobotApplication.RobotSoftwareSuite": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-robotsoftwaresuite.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-robotsoftwaresuite.html#cfn-robomaker-robotapplication-robotsoftwaresuite-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-robotsoftwaresuite.html#cfn-robomaker-robotapplication-robotsoftwaresuite-version",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RoboMaker::RobotApplication.SourceConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html",
    "Properties": {
      "Architecture": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html#cfn-robomaker-robotapplication-sourceconfig-architecture",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html#cfn-robomaker-robotapplication-sourceconfig-s3bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-robotapplication-sourceconfig.html#cfn-robomaker-robotapplication-sourceconfig-s3key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RoboMaker::SimulationApplication.RenderingEngine": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-renderingengine.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-renderingengine.html#cfn-robomaker-simulationapplication-renderingengine-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-renderingengine.html#cfn-robomaker-simulationapplication-renderingengine-version",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RoboMaker::SimulationApplication.RobotSoftwareSuite": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-robotsoftwaresuite.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-robotsoftwaresuite.html#cfn-robomaker-simulationapplication-robotsoftwaresuite-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-robotsoftwaresuite.html#cfn-robomaker-simulationapplication-robotsoftwaresuite-version",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RoboMaker::SimulationApplication.SimulationSoftwareSuite": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-simulationsoftwaresuite.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-simulationsoftwaresuite.html#cfn-robomaker-simulationapplication-simulationsoftwaresuite-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-simulationsoftwaresuite.html#cfn-robomaker-simulationapplication-simulationsoftwaresuite-version",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RoboMaker::SimulationApplication.SourceConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-sourceconfig.html",
    "Properties": {
      "Architecture": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-sourceconfig.html#cfn-robomaker-simulationapplication-sourceconfig-architecture",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-sourceconfig.html#cfn-robomaker-simulationapplication-sourceconfig-s3bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-robomaker-simulationapplication-sourceconfig.html#cfn-robomaker-simulationapplication-sourceconfig-s3key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53::HealthCheck.AlarmIdentifier": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html#cfn-route53-healthcheck-alarmidentifier-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Region": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-alarmidentifier.html#cfn-route53-healthcheck-alarmidentifier-region",
        "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": {
      "AlarmIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-alarmidentifier",
        "Required": false,
        "Type": "AlarmIdentifier",
        "UpdateType": "Mutable"
      },
      "ChildHealthChecks": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-childhealthchecks",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EnableSNI": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-enablesni",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "HealthThreshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-healththreshold",
        "PrimitiveType": "Integer",
        "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"
      },
      "InsufficientDataHealthStatus": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-insufficientdatahealthstatus",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Inverted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-inverted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MeasureLatency": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-measurelatency",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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"
      },
      "Regions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthcheckconfig.html#cfn-route53-healthcheck-healthcheckconfig-regions",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "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": "Immutable"
      },
      "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": "Immutable"
      }
    }
  },
  "AWS::Route53::HealthCheck.HealthCheckTag": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktag.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-healthcheck-healthchecktag.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-healthchecktag.html#cfn-route53-healthchecktags-value",
        "PrimitiveType": "String",
        "Required": true,
        "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::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::Route53::HostedZone.QueryLoggingConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-queryloggingconfig.html",
    "Properties": {
      "CloudWatchLogsLogGroupArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-hostedzone-queryloggingconfig.html#cfn-route53-hostedzone-queryloggingconfig-cloudwatchlogsloggrouparn",
        "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::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::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::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::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::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"
      },
      "MultiValueAnswer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-multivalueanswer",
        "PrimitiveType": "Boolean",
        "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::Route53Resolver::ResolverEndpoint.IpAddressRequest": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html",
    "Properties": {
      "Ip": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html#cfn-route53resolver-resolverendpoint-ipaddressrequest-ip",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverendpoint-ipaddressrequest.html#cfn-route53resolver-resolverendpoint-ipaddressrequest-subnetid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53Resolver::ResolverRule.TargetAddress": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html",
    "Properties": {
      "Ip": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-ip",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53resolver-resolverrule-targetaddress.html#cfn-route53resolver-resolverrule-targetaddress-port",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::AccessPoint.PublicAccessBlockConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html",
    "Properties": {
      "BlockPublicAcls": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-blockpublicacls",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BlockPublicPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-blockpublicpolicy",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "IgnorePublicAcls": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-ignorepublicacls",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RestrictPublicBuckets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-restrictpublicbuckets",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::S3::AccessPoint.VpcConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-vpcconfiguration.html",
    "Properties": {
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-vpcconfiguration.html#cfn-s3-accesspoint-vpcconfiguration-vpcid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::S3::Bucket.AbortIncompleteMultipartUpload": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-abortincompletemultipartupload.html",
    "Properties": {
      "DaysAfterInitiation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-abortincompletemultipartupload.html#cfn-s3-bucket-abortincompletemultipartupload-daysafterinitiation",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.AccelerateConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accelerateconfiguration.html",
    "Properties": {
      "AccelerationStatus": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accelerateconfiguration.html#cfn-s3-bucket-accelerateconfiguration-accelerationstatus",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.AccessControlTranslation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accesscontroltranslation.html",
    "Properties": {
      "Owner": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accesscontroltranslation.html#cfn-s3-bucket-accesscontroltranslation-owner",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.AnalyticsConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-prefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StorageClassAnalysis": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-storageclassanalysis",
        "Required": true,
        "Type": "StorageClassAnalysis",
        "UpdateType": "Mutable"
      },
      "TagFilters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-tagfilters",
        "DuplicatesAllowed": false,
        "ItemType": "TagFilter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.BucketEncryption": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-bucketencryption.html",
    "Properties": {
      "ServerSideEncryptionConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-bucketencryption.html#cfn-s3-bucket-bucketencryption-serversideencryptionconfiguration",
        "DuplicatesAllowed": false,
        "ItemType": "ServerSideEncryptionRule",
        "Required": true,
        "Type": "List",
        "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.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::S3::Bucket.DataExport": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-dataexport.html",
    "Properties": {
      "Destination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-dataexport.html#cfn-s3-bucket-dataexport-destination",
        "Required": true,
        "Type": "Destination",
        "UpdateType": "Mutable"
      },
      "OutputSchemaVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-dataexport.html#cfn-s3-bucket-dataexport-outputschemaversion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.DefaultRetention": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html",
    "Properties": {
      "Days": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html#cfn-s3-bucket-defaultretention-days",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Mode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html#cfn-s3-bucket-defaultretention-mode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Years": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html#cfn-s3-bucket-defaultretention-years",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.Destination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html",
    "Properties": {
      "BucketAccountId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-bucketaccountid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "BucketArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-bucketarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Format": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-format",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-prefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.EncryptionConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-encryptionconfiguration.html",
    "Properties": {
      "ReplicaKmsKeyID": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-encryptionconfiguration.html#cfn-s3-bucket-encryptionconfiguration-replicakmskeyid",
        "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::S3::Bucket.InventoryConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html",
    "Properties": {
      "Destination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-destination",
        "Required": true,
        "Type": "Destination",
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IncludedObjectVersions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-includedobjectversions",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OptionalFields": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-optionalfields",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-prefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScheduleFrequency": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-schedulefrequency",
        "PrimitiveType": "String",
        "Required": true,
        "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::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::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::S3::Bucket.MetricsConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html",
    "Properties": {
      "Id": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-id",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-prefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TagFilters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-tagfilters",
        "DuplicatesAllowed": false,
        "ItemType": "TagFilter",
        "Required": false,
        "Type": "List",
        "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::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::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::S3::Bucket.ObjectLockConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html",
    "Properties": {
      "ObjectLockEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html#cfn-s3-bucket-objectlockconfiguration-objectlockenabled",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Rule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html#cfn-s3-bucket-objectlockconfiguration-rule",
        "Required": false,
        "Type": "ObjectLockRule",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.ObjectLockRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html",
    "Properties": {
      "DefaultRetention": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html#cfn-s3-bucket-objectlockrule-defaultretention",
        "Required": false,
        "Type": "DefaultRetention",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.PublicAccessBlockConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html",
    "Properties": {
      "BlockPublicAcls": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-blockpublicacls",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "BlockPublicPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-blockpublicpolicy",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IgnorePublicAcls": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-ignorepublicacls",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RestrictPublicBuckets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-restrictpublicbuckets",
        "PrimitiveType": "Boolean",
        "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::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::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::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.ReplicationDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html",
    "Properties": {
      "AccessControlTranslation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-accesscontroltranslation",
        "Required": false,
        "Type": "AccessControlTranslation",
        "UpdateType": "Mutable"
      },
      "Account": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-account",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "EncryptionConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-encryptionconfiguration",
        "Required": false,
        "Type": "EncryptionConfiguration",
        "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::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"
      },
      "SourceSelectionCriteria": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-sourceselectioncriteria",
        "Required": false,
        "Type": "SourceSelectionCriteria",
        "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::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::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.Rule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html",
    "Properties": {
      "AbortIncompleteMultipartUpload": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-rule-abortincompletemultipartupload",
        "Required": false,
        "Type": "AbortIncompleteMultipartUpload",
        "UpdateType": "Mutable"
      },
      "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",
        "DuplicatesAllowed": false,
        "ItemType": "NoncurrentVersionTransition",
        "Required": false,
        "Type": "List",
        "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"
      },
      "TagFilters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-rule-tagfilters",
        "DuplicatesAllowed": false,
        "ItemType": "TagFilter",
        "Required": false,
        "Type": "List",
        "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",
        "DuplicatesAllowed": false,
        "ItemType": "Transition",
        "Required": false,
        "Type": "List",
        "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::S3::Bucket.ServerSideEncryptionByDefault": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html",
    "Properties": {
      "KMSMasterKeyID": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html#cfn-s3-bucket-serversideencryptionbydefault-kmsmasterkeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SSEAlgorithm": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html#cfn-s3-bucket-serversideencryptionbydefault-ssealgorithm",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.ServerSideEncryptionRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html",
    "Properties": {
      "ServerSideEncryptionByDefault": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html#cfn-s3-bucket-serversideencryptionrule-serversideencryptionbydefault",
        "Required": false,
        "Type": "ServerSideEncryptionByDefault",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.SourceSelectionCriteria": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html",
    "Properties": {
      "SseKmsEncryptedObjects": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-ssekmsencryptedobjects",
        "Required": true,
        "Type": "SseKmsEncryptedObjects",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.SseKmsEncryptedObjects": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ssekmsencryptedobjects.html",
    "Properties": {
      "Status": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ssekmsencryptedobjects.html#cfn-s3-bucket-ssekmsencryptedobjects-status",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.StorageClassAnalysis": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-storageclassanalysis.html",
    "Properties": {
      "DataExport": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-storageclassanalysis.html#cfn-s3-bucket-storageclassanalysis-dataexport",
        "Required": false,
        "Type": "DataExport",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::S3::Bucket.TagFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tagfilter.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tagfilter.html#cfn-s3-bucket-tagfilter-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tagfilter.html#cfn-s3-bucket-tagfilter-value",
        "PrimitiveType": "String",
        "Required": true,
        "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::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::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::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::SES::ConfigurationSetEventDestination.CloudWatchDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-cloudwatchdestination.html",
    "Properties": {
      "DimensionConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-cloudwatchdestination.html#cfn-ses-configurationseteventdestination-cloudwatchdestination-dimensionconfigurations",
        "ItemType": "DimensionConfiguration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ConfigurationSetEventDestination.DimensionConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-dimensionconfiguration.html",
    "Properties": {
      "DefaultDimensionValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-dimensionconfiguration.html#cfn-ses-configurationseteventdestination-dimensionconfiguration-defaultdimensionvalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DimensionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-dimensionconfiguration.html#cfn-ses-configurationseteventdestination-dimensionconfiguration-dimensionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DimensionValueSource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-dimensionconfiguration.html#cfn-ses-configurationseteventdestination-dimensionconfiguration-dimensionvaluesource",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ConfigurationSetEventDestination.EventDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html",
    "Properties": {
      "CloudWatchDestination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-cloudwatchdestination",
        "Required": false,
        "Type": "CloudWatchDestination",
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KinesisFirehoseDestination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-kinesisfirehosedestination",
        "Required": false,
        "Type": "KinesisFirehoseDestination",
        "UpdateType": "Mutable"
      },
      "MatchingEventTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-matchingeventtypes",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ConfigurationSetEventDestination.KinesisFirehoseDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-kinesisfirehosedestination.html",
    "Properties": {
      "DeliveryStreamARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-kinesisfirehosedestination.html#cfn-ses-configurationseteventdestination-kinesisfirehosedestination-deliverystreamarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IAMRoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-kinesisfirehosedestination.html#cfn-ses-configurationseteventdestination-kinesisfirehosedestination-iamrolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ReceiptFilter.Filter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-filter.html",
    "Properties": {
      "IpFilter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-filter.html#cfn-ses-receiptfilter-filter-ipfilter",
        "Required": true,
        "Type": "IpFilter",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-filter.html#cfn-ses-receiptfilter-filter-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ReceiptFilter.IpFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-ipfilter.html",
    "Properties": {
      "Cidr": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-ipfilter.html#cfn-ses-receiptfilter-ipfilter-cidr",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Policy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptfilter-ipfilter.html#cfn-ses-receiptfilter-ipfilter-policy",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ReceiptRule.Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html",
    "Properties": {
      "AddHeaderAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-addheaderaction",
        "Required": false,
        "Type": "AddHeaderAction",
        "UpdateType": "Mutable"
      },
      "BounceAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-bounceaction",
        "Required": false,
        "Type": "BounceAction",
        "UpdateType": "Mutable"
      },
      "LambdaAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-lambdaaction",
        "Required": false,
        "Type": "LambdaAction",
        "UpdateType": "Mutable"
      },
      "S3Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-s3action",
        "Required": false,
        "Type": "S3Action",
        "UpdateType": "Mutable"
      },
      "SNSAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-snsaction",
        "Required": false,
        "Type": "SNSAction",
        "UpdateType": "Mutable"
      },
      "StopAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-stopaction",
        "Required": false,
        "Type": "StopAction",
        "UpdateType": "Mutable"
      },
      "WorkmailAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-action.html#cfn-ses-receiptrule-action-workmailaction",
        "Required": false,
        "Type": "WorkmailAction",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ReceiptRule.AddHeaderAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-addheaderaction.html",
    "Properties": {
      "HeaderName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-addheaderaction.html#cfn-ses-receiptrule-addheaderaction-headername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "HeaderValue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-addheaderaction.html#cfn-ses-receiptrule-addheaderaction-headervalue",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ReceiptRule.BounceAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html",
    "Properties": {
      "Message": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html#cfn-ses-receiptrule-bounceaction-message",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Sender": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html#cfn-ses-receiptrule-bounceaction-sender",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SmtpReplyCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html#cfn-ses-receiptrule-bounceaction-smtpreplycode",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StatusCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html#cfn-ses-receiptrule-bounceaction-statuscode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-bounceaction.html#cfn-ses-receiptrule-bounceaction-topicarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ReceiptRule.LambdaAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html",
    "Properties": {
      "FunctionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html#cfn-ses-receiptrule-lambdaaction-functionarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InvocationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html#cfn-ses-receiptrule-lambdaaction-invocationtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-lambdaaction.html#cfn-ses-receiptrule-lambdaaction-topicarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ReceiptRule.Rule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html",
    "Properties": {
      "Actions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html#cfn-ses-receiptrule-rule-actions",
        "ItemType": "Action",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html#cfn-ses-receiptrule-rule-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html#cfn-ses-receiptrule-rule-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Recipients": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html#cfn-ses-receiptrule-rule-recipients",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ScanEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html#cfn-ses-receiptrule-rule-scanenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TlsPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-rule.html#cfn-ses-receiptrule-rule-tlspolicy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ReceiptRule.S3Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html",
    "Properties": {
      "BucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html#cfn-ses-receiptrule-s3action-bucketname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "KmsKeyArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html#cfn-ses-receiptrule-s3action-kmskeyarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ObjectKeyPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html#cfn-ses-receiptrule-s3action-objectkeyprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-s3action.html#cfn-ses-receiptrule-s3action-topicarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ReceiptRule.SNSAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html",
    "Properties": {
      "Encoding": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html#cfn-ses-receiptrule-snsaction-encoding",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-snsaction.html#cfn-ses-receiptrule-snsaction-topicarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ReceiptRule.StopAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-stopaction.html",
    "Properties": {
      "Scope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-stopaction.html#cfn-ses-receiptrule-stopaction-scope",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-stopaction.html#cfn-ses-receiptrule-stopaction-topicarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ReceiptRule.WorkmailAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-workmailaction.html",
    "Properties": {
      "OrganizationArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-workmailaction.html#cfn-ses-receiptrule-workmailaction-organizationarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-receiptrule-workmailaction.html#cfn-ses-receiptrule-workmailaction-topicarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::Template.Template": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html",
    "Properties": {
      "HtmlPart": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html#cfn-ses-template-template-htmlpart",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubjectPart": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html#cfn-ses-template-template-subjectpart",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html#cfn-ses-template-template-templatename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TextPart": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-template-template.html#cfn-ses-template-template-textpart",
        "PrimitiveType": "String",
        "Required": false,
        "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::SSM::Association.InstanceAssociationOutputLocation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-instanceassociationoutputlocation.html",
    "Properties": {
      "S3Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-instanceassociationoutputlocation.html#cfn-ssm-association-instanceassociationoutputlocation-s3location",
        "Required": false,
        "Type": "S3OutputLocation",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::Association.ParameterValues": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-parametervalues.html",
    "Properties": {
      "ParameterValues": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-parametervalues.html#cfn-ssm-association-parametervalues-parametervalues",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::Association.S3OutputLocation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html",
    "Properties": {
      "OutputS3BucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3bucketname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OutputS3KeyPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-s3outputlocation.html#cfn-ssm-association-s3outputlocation-outputs3keyprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::Association.Target": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-target.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-target.html#cfn-ssm-association-target-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-association-target.html#cfn-ssm-association-target-values",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SSM::MaintenanceWindowTarget.Targets": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtarget-targets.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtarget-targets.html#cfn-ssm-maintenancewindowtarget-targets-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtarget-targets.html#cfn-ssm-maintenancewindowtarget-targets-values",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::MaintenanceWindowTask.LoggingInfo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-logginginfo.html",
    "Properties": {
      "Region": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-logginginfo.html#cfn-ssm-maintenancewindowtask-logginginfo-region",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-logginginfo.html#cfn-ssm-maintenancewindowtask-logginginfo-s3bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3Prefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-logginginfo.html#cfn-ssm-maintenancewindowtask-logginginfo-s3prefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowAutomationParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowautomationparameters.html",
    "Properties": {
      "DocumentVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowautomationparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowautomationparameters-documentversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowautomationparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowautomationparameters-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowLambdaParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowlambdaparameters.html",
    "Properties": {
      "ClientContext": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowlambdaparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowlambdaparameters-clientcontext",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Payload": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowlambdaparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowlambdaparameters-payload",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Qualifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowlambdaparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowlambdaparameters-qualifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowRunCommandParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html",
    "Properties": {
      "Comment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-comment",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DocumentHash": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-documenthash",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DocumentHashType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-documenthashtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NotificationConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-notificationconfig",
        "Required": false,
        "Type": "NotificationConfig",
        "UpdateType": "Mutable"
      },
      "OutputS3BucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-outputs3bucketname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OutputS3KeyPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-outputs3keyprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ServiceRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-servicerolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TimeoutSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowruncommandparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowruncommandparameters-timeoutseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::MaintenanceWindowTask.MaintenanceWindowStepFunctionsParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters.html",
    "Properties": {
      "Input": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters-input",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters.html#cfn-ssm-maintenancewindowtask-maintenancewindowstepfunctionsparameters-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::MaintenanceWindowTask.NotificationConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-notificationconfig.html",
    "Properties": {
      "NotificationArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-notificationconfig.html#cfn-ssm-maintenancewindowtask-notificationconfig-notificationarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "NotificationEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-notificationconfig.html#cfn-ssm-maintenancewindowtask-notificationconfig-notificationevents",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "NotificationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-notificationconfig.html#cfn-ssm-maintenancewindowtask-notificationconfig-notificationtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::MaintenanceWindowTask.Target": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-target.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-target.html#cfn-ssm-maintenancewindowtask-target-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-target.html#cfn-ssm-maintenancewindowtask-target-values",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::MaintenanceWindowTask.TaskInvocationParameters": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html",
    "Properties": {
      "MaintenanceWindowAutomationParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters-maintenancewindowautomationparameters",
        "Required": false,
        "Type": "MaintenanceWindowAutomationParameters",
        "UpdateType": "Mutable"
      },
      "MaintenanceWindowLambdaParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters-maintenancewindowlambdaparameters",
        "Required": false,
        "Type": "MaintenanceWindowLambdaParameters",
        "UpdateType": "Mutable"
      },
      "MaintenanceWindowRunCommandParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters-maintenancewindowruncommandparameters",
        "Required": false,
        "Type": "MaintenanceWindowRunCommandParameters",
        "UpdateType": "Mutable"
      },
      "MaintenanceWindowStepFunctionsParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-maintenancewindowtask-taskinvocationparameters.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters-maintenancewindowstepfunctionsparameters",
        "Required": false,
        "Type": "MaintenanceWindowStepFunctionsParameters",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::PatchBaseline.PatchFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfilter.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfilter.html#cfn-ssm-patchbaseline-patchfilter-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Values": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfilter.html#cfn-ssm-patchbaseline-patchfilter-values",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::PatchBaseline.PatchFilterGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfiltergroup.html",
    "Properties": {
      "PatchFilters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchfiltergroup.html#cfn-ssm-patchbaseline-patchfiltergroup-patchfilters",
        "ItemType": "PatchFilter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::PatchBaseline.PatchSource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html",
    "Properties": {
      "Configuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html#cfn-ssm-patchbaseline-patchsource-configuration",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html#cfn-ssm-patchbaseline-patchsource-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Products": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-patchsource.html#cfn-ssm-patchbaseline-patchsource-products",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::PatchBaseline.Rule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html",
    "Properties": {
      "ApproveAfterDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-approveafterdays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ComplianceLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-compliancelevel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnableNonSecurity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-enablenonsecurity",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PatchFilterGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rule.html#cfn-ssm-patchbaseline-rule-patchfiltergroup",
        "Required": false,
        "Type": "PatchFilterGroup",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::PatchBaseline.RuleGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rulegroup.html",
    "Properties": {
      "PatchRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ssm-patchbaseline-rulegroup.html#cfn-ssm-patchbaseline-rulegroup-patchrules",
        "ItemType": "Rule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SageMaker::CodeRepository.GitConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-coderepository-gitconfig.html",
    "Properties": {
      "Branch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-coderepository-gitconfig.html#cfn-sagemaker-coderepository-gitconfig-branch",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RepositoryUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-coderepository-gitconfig.html#cfn-sagemaker-coderepository-gitconfig-repositoryurl",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SecretArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-coderepository-gitconfig.html#cfn-sagemaker-coderepository-gitconfig-secretarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SageMaker::Endpoint.VariantProperty": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html",
    "Properties": {
      "VariantPropertyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpoint-variantproperty.html#cfn-sagemaker-endpoint-variantproperty-variantpropertytype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SageMaker::EndpointConfig.ProductionVariant": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html",
    "Properties": {
      "AcceleratorType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-acceleratortype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "InitialInstanceCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-initialinstancecount",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InitialVariantWeight": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-initialvariantweight",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ModelName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-modelname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "VariantName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-endpointconfig-productionvariant.html#cfn-sagemaker-endpointconfig-productionvariant-variantname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SageMaker::Model.ContainerDefinition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html",
    "Properties": {
      "ContainerHostname": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-containerhostname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Environment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-environment",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Image": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-image",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ModelDataUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-containerdefinition.html#cfn-sagemaker-model-containerdefinition-modeldataurl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SageMaker::Model.VpcConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-vpcconfig.html",
    "Properties": {
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-vpcconfig.html#cfn-sagemaker-model-vpcconfig-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Subnets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-model-vpcconfig.html#cfn-sagemaker-model-vpcconfig-subnets",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SageMaker::NotebookInstanceLifecycleConfig.NotebookInstanceLifecycleHook": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook.html",
    "Properties": {
      "Content": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook.html#cfn-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecyclehook-content",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SageMaker::Workteam.CognitoMemberDefinition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-cognitomemberdefinition.html",
    "Properties": {
      "CognitoClientId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-cognitomemberdefinition.html#cfn-sagemaker-workteam-cognitomemberdefinition-cognitoclientid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "CognitoUserGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-cognitomemberdefinition.html#cfn-sagemaker-workteam-cognitomemberdefinition-cognitousergroup",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "CognitoUserPool": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-cognitomemberdefinition.html#cfn-sagemaker-workteam-cognitomemberdefinition-cognitouserpool",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SageMaker::Workteam.MemberDefinition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-memberdefinition.html",
    "Properties": {
      "CognitoMemberDefinition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-memberdefinition.html#cfn-sagemaker-workteam-memberdefinition-cognitomemberdefinition",
        "Required": true,
        "Type": "CognitoMemberDefinition",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SageMaker::Workteam.NotificationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-notificationconfiguration.html",
    "Properties": {
      "NotificationTopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sagemaker-workteam-notificationconfiguration.html#cfn-sagemaker-workteam-notificationconfiguration-notificationtopicarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SecretsManager::RotationSchedule.RotationRules": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-rotationrules.html",
    "Properties": {
      "AutomaticallyAfterDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-rotationschedule-rotationrules.html#cfn-secretsmanager-rotationschedule-rotationrules-automaticallyafterdays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SecretsManager::Secret.GenerateSecretString": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html",
    "Properties": {
      "ExcludeCharacters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-excludecharacters",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExcludeLowercase": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-excludelowercase",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExcludeNumbers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-excludenumbers",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExcludePunctuation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-excludepunctuation",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExcludeUppercase": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-excludeuppercase",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GenerateStringKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-generatestringkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IncludeSpace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-includespace",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PasswordLength": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-passwordlength",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequireEachIncludedType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-requireeachincludedtype",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecretStringTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-secretsmanager-secret-generatesecretstring.html#cfn-secretsmanager-secret-generatesecretstring-secretstringtemplate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceCatalog::CloudFormationProduct.ProvisioningArtifactProperties": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html#cfn-servicecatalog-cloudformationproduct-provisioningartifactproperties-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DisableTemplateValidation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html#cfn-servicecatalog-cloudformationproduct-provisioningartifactproperties-disabletemplatevalidation",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Info": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html#cfn-servicecatalog-cloudformationproduct-provisioningartifactproperties-info",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationproduct-provisioningartifactproperties.html#cfn-servicecatalog-cloudformationproduct-provisioningartifactproperties-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningParameter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningparameter.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningparameter.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningparameter-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningparameter.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningparameter-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceCatalog::CloudFormationProvisionedProduct.ProvisioningPreferences": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html",
    "Properties": {
      "StackSetAccounts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetaccounts",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "StackSetFailureToleranceCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetfailuretolerancecount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StackSetFailureTolerancePercentage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetfailuretolerancepercentage",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StackSetMaxConcurrencyCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetmaxconcurrencycount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StackSetMaxConcurrencyPercentage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetmaxconcurrencypercentage",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StackSetOperationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetoperationtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StackSetRegions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences-stacksetregions",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceDiscovery::Service.DnsConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html",
    "Properties": {
      "DnsRecords": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html#cfn-servicediscovery-service-dnsconfig-dnsrecords",
        "ItemType": "DnsRecord",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "NamespaceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html#cfn-servicediscovery-service-dnsconfig-namespaceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RoutingPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsconfig.html#cfn-servicediscovery-service-dnsconfig-routingpolicy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceDiscovery::Service.DnsRecord": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsrecord.html",
    "Properties": {
      "TTL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsrecord.html#cfn-servicediscovery-service-dnsrecord-ttl",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsrecord.html#cfn-servicediscovery-service-dnsrecord-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceDiscovery::Service.HealthCheckConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckconfig.html",
    "Properties": {
      "FailureThreshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckconfig.html#cfn-servicediscovery-service-healthcheckconfig-failurethreshold",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourcePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckconfig.html#cfn-servicediscovery-service-healthcheckconfig-resourcepath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckconfig.html#cfn-servicediscovery-service-healthcheckconfig-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceDiscovery::Service.HealthCheckCustomConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckcustomconfig.html",
    "Properties": {
      "FailureThreshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-healthcheckcustomconfig.html#cfn-servicediscovery-service-healthcheckcustomconfig-failurethreshold",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::StepFunctions::Activity.TagsEntry": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-activity-tagsentry.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-activity-tagsentry.html#cfn-stepfunctions-activity-tagsentry-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-activity-tagsentry.html#cfn-stepfunctions-activity-tagsentry-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::StepFunctions::StateMachine.CloudWatchLogsLogGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup.html",
    "Properties": {
      "LogGroupArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup.html#cfn-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup-loggrouparn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::StepFunctions::StateMachine.LogDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination.html",
    "Properties": {
      "CloudWatchLogsLogGroup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-logdestination.html#cfn-stepfunctions-statemachine-logdestination-cloudwatchlogsloggroup",
        "Required": false,
        "Type": "CloudWatchLogsLogGroup",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::StepFunctions::StateMachine.LoggingConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html",
    "Properties": {
      "Destinations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html#cfn-stepfunctions-statemachine-loggingconfiguration-destinations",
        "ItemType": "LogDestination",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "IncludeExecutionData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html#cfn-stepfunctions-statemachine-loggingconfiguration-includeexecutiondata",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Level": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-loggingconfiguration.html#cfn-stepfunctions-statemachine-loggingconfiguration-level",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::StepFunctions::StateMachine.TagsEntry": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tagsentry.html",
    "Properties": {
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tagsentry.html#cfn-stepfunctions-statemachine-tagsentry-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachine-tagsentry.html#cfn-stepfunctions-statemachine-tagsentry-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Transfer::Server.EndpointDetails": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html",
    "Properties": {
      "VpcEndpointId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-vpcendpointid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Transfer::Server.IdentityProviderDetails": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-identityproviderdetails.html",
    "Properties": {
      "InvocationRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-identityproviderdetails.html#cfn-transfer-server-identityproviderdetails-invocationrole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Url": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-identityproviderdetails.html#cfn-transfer-server-identityproviderdetails-url",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Transfer::User.SshPublicKey": {
    "PrimitiveType": "String"
  },
  "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::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::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::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::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::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.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::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::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": false,
        "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::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::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::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::WAFRegional::ByteMatchSet.ByteMatchTuple": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html",
    "Properties": {
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html#cfn-wafregional-bytematchset-bytematchtuple-fieldtomatch",
        "Required": true,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "PositionalConstraint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html#cfn-wafregional-bytematchset-bytematchtuple-positionalconstraint",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html#cfn-wafregional-bytematchset-bytematchtuple-targetstring",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetStringBase64": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html#cfn-wafregional-bytematchset-bytematchtuple-targetstringbase64",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TextTransformation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html#cfn-wafregional-bytematchset-bytematchtuple-texttransformation",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::ByteMatchSet.FieldToMatch": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-fieldtomatch.html",
    "Properties": {
      "Data": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-fieldtomatch.html#cfn-wafregional-bytematchset-fieldtomatch-data",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-fieldtomatch.html#cfn-wafregional-bytematchset-fieldtomatch-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-geomatchset-geomatchconstraint.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-geomatchset-geomatchconstraint.html#cfn-wafregional-geomatchset-geomatchconstraint-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-geomatchset-geomatchconstraint.html#cfn-wafregional-geomatchset-geomatchconstraint-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::IPSet.IPSetDescriptor": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ipset-ipsetdescriptor.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ipset-ipsetdescriptor.html#cfn-wafregional-ipset-ipsetdescriptor-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ipset-ipsetdescriptor.html#cfn-wafregional-ipset-ipsetdescriptor-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::RateBasedRule.Predicate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ratebasedrule-predicate.html",
    "Properties": {
      "DataId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ratebasedrule-predicate.html#cfn-wafregional-ratebasedrule-predicate-dataid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Negated": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ratebasedrule-predicate.html#cfn-wafregional-ratebasedrule-predicate-negated",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ratebasedrule-predicate.html#cfn-wafregional-ratebasedrule-predicate-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::Rule.Predicate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-rule-predicate.html",
    "Properties": {
      "DataId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-rule-predicate.html#cfn-wafregional-rule-predicate-dataid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Negated": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-rule-predicate.html#cfn-wafregional-rule-predicate-negated",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-rule-predicate.html#cfn-wafregional-rule-predicate-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::SizeConstraintSet.FieldToMatch": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-fieldtomatch.html",
    "Properties": {
      "Data": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-fieldtomatch.html#cfn-wafregional-sizeconstraintset-fieldtomatch-data",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-fieldtomatch.html#cfn-wafregional-sizeconstraintset-fieldtomatch-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::SizeConstraintSet.SizeConstraint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html",
    "Properties": {
      "ComparisonOperator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html#cfn-wafregional-sizeconstraintset-sizeconstraint-comparisonoperator",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html#cfn-wafregional-sizeconstraintset-sizeconstraint-fieldtomatch",
        "Required": true,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "Size": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html#cfn-wafregional-sizeconstraintset-sizeconstraint-size",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TextTransformation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html#cfn-wafregional-sizeconstraintset-sizeconstraint-texttransformation",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-fieldtomatch.html",
    "Properties": {
      "Data": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-fieldtomatch.html#cfn-wafregional-sqlinjectionmatchset-fieldtomatch-data",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-fieldtomatch.html#cfn-wafregional-sqlinjectionmatchset-fieldtomatch-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple.html",
    "Properties": {
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple.html#cfn-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple-fieldtomatch",
        "Required": true,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "TextTransformation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple.html#cfn-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple-texttransformation",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::WebACL.Action": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-action.html",
    "Properties": {
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-action.html#cfn-wafregional-webacl-action-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::WebACL.Rule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-rule.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-rule.html#cfn-wafregional-webacl-rule-action",
        "Required": true,
        "Type": "Action",
        "UpdateType": "Mutable"
      },
      "Priority": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-rule.html#cfn-wafregional-webacl-rule-priority",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RuleId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-rule.html#cfn-wafregional-webacl-rule-ruleid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::XssMatchSet.FieldToMatch": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-fieldtomatch.html",
    "Properties": {
      "Data": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-fieldtomatch.html#cfn-wafregional-xssmatchset-fieldtomatch-data",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-fieldtomatch.html#cfn-wafregional-xssmatchset-fieldtomatch-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::XssMatchSet.XssMatchTuple": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-xssmatchtuple.html",
    "Properties": {
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-xssmatchtuple.html#cfn-wafregional-xssmatchset-xssmatchtuple-fieldtomatch",
        "Required": true,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "TextTransformation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-xssmatchtuple.html#cfn-wafregional-xssmatchset-xssmatchtuple-texttransformation",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::IPSet.IPAddresses": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-ipset-ipaddresses.html",
    "Properties": {
      "IPAddresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-ipset-ipaddresses.html#cfn-wafv2-ipset-ipaddresses-ipaddresses",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::IPSet.TagList": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-ipset-taglist.html",
    "Properties": {
      "TagList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-ipset-taglist.html#cfn-wafv2-ipset-taglist-taglist",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RegexPatternSet.Regex": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-regexpatternset-regex.html",
    "Properties": {
      "RegexString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-regexpatternset-regex.html#cfn-wafv2-regexpatternset-regex-regexstring",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RegexPatternSet.RegularExpressionList": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-regexpatternset-regularexpressionlist.html",
    "Properties": {
      "RegularExpressionList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-regexpatternset-regularexpressionlist.html#cfn-wafv2-regexpatternset-regularexpressionlist-regularexpressionlist",
        "ItemType": "Regex",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RegexPatternSet.TagList": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-regexpatternset-taglist.html",
    "Properties": {
      "TagList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-regexpatternset-taglist.html#cfn-wafv2-regexpatternset-taglist-taglist",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.AllQueryArguments": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-allqueryarguments.html"
  },
  "AWS::WAFv2::RuleGroup.AllowAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-allowaction.html"
  },
  "AWS::WAFv2::RuleGroup.AndStatementOne": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-andstatementone.html",
    "Properties": {
      "Statements": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-andstatementone.html#cfn-wafv2-rulegroup-andstatementone-statements",
        "Required": false,
        "Type": "StatementTwos",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.AndStatementTwo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-andstatementtwo.html",
    "Properties": {
      "Statements": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-andstatementtwo.html#cfn-wafv2-rulegroup-andstatementtwo-statements",
        "Required": false,
        "Type": "StatementThrees",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.BlockAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-blockaction.html"
  },
  "AWS::WAFv2::RuleGroup.Body": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-body.html"
  },
  "AWS::WAFv2::RuleGroup.ByteMatchStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html",
    "Properties": {
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-fieldtomatch",
        "Required": false,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "PositionalConstraint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-positionalconstraint",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SearchString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-searchstring",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SearchStringBase64": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-searchstringbase64",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TextTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-texttransformations",
        "Required": false,
        "Type": "TextTransformations",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.CountAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-countaction.html"
  },
  "AWS::WAFv2::RuleGroup.CountryCodes": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-countrycodes.html",
    "Properties": {
      "CountryCodes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-countrycodes.html#cfn-wafv2-rulegroup-countrycodes-countrycodes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.FieldToMatch": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html",
    "Properties": {
      "AllQueryArguments": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-allqueryarguments",
        "Required": false,
        "Type": "AllQueryArguments",
        "UpdateType": "Mutable"
      },
      "Body": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-body",
        "Required": false,
        "Type": "Body",
        "UpdateType": "Mutable"
      },
      "Method": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-method",
        "Required": false,
        "Type": "Method",
        "UpdateType": "Mutable"
      },
      "QueryString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-querystring",
        "Required": false,
        "Type": "QueryString",
        "UpdateType": "Mutable"
      },
      "SingleHeader": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-singleheader",
        "Required": false,
        "Type": "SingleHeader",
        "UpdateType": "Mutable"
      },
      "SingleQueryArgument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-singlequeryargument",
        "Required": false,
        "Type": "SingleQueryArgument",
        "UpdateType": "Mutable"
      },
      "UriPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-uripath",
        "Required": false,
        "Type": "UriPath",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.GeoMatchStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-geomatchstatement.html",
    "Properties": {
      "CountryCodes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-geomatchstatement.html#cfn-wafv2-rulegroup-geomatchstatement-countrycodes",
        "Required": false,
        "Type": "CountryCodes",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.IPSetReferenceStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetreferencestatement.html",
    "Properties": {
      "Arn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetreferencestatement.html#cfn-wafv2-rulegroup-ipsetreferencestatement-arn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.Method": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-method.html"
  },
  "AWS::WAFv2::RuleGroup.NotStatementOne": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-notstatementone.html",
    "Properties": {
      "Statement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-notstatementone.html#cfn-wafv2-rulegroup-notstatementone-statement",
        "Required": false,
        "Type": "StatementTwo",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.NotStatementTwo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-notstatementtwo.html",
    "Properties": {
      "Statement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-notstatementtwo.html#cfn-wafv2-rulegroup-notstatementtwo-statement",
        "Required": false,
        "Type": "StatementThree",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.OrStatementOne": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-orstatementone.html",
    "Properties": {
      "Statements": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-orstatementone.html#cfn-wafv2-rulegroup-orstatementone-statements",
        "Required": false,
        "Type": "StatementTwos",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.OrStatementTwo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-orstatementtwo.html",
    "Properties": {
      "Statements": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-orstatementtwo.html#cfn-wafv2-rulegroup-orstatementtwo-statements",
        "Required": false,
        "Type": "StatementThrees",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.QueryString": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-querystring.html"
  },
  "AWS::WAFv2::RuleGroup.RateBasedStatementOne": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html",
    "Properties": {
      "AggregateKeyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Limit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScopeDownStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement",
        "Required": false,
        "Type": "StatementTwo",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.RateBasedStatementTwo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html",
    "Properties": {
      "AggregateKeyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Limit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScopeDownStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement",
        "Required": false,
        "Type": "StatementThree",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.RegexPatternSetReferenceStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-regexpatternsetreferencestatement.html",
    "Properties": {
      "Arn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-regexpatternsetreferencestatement.html#cfn-wafv2-rulegroup-regexpatternsetreferencestatement-arn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-regexpatternsetreferencestatement.html#cfn-wafv2-rulegroup-regexpatternsetreferencestatement-fieldtomatch",
        "Required": false,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "TextTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-regexpatternsetreferencestatement.html#cfn-wafv2-rulegroup-regexpatternsetreferencestatement-texttransformations",
        "Required": false,
        "Type": "TextTransformations",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.Rule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-action",
        "Required": false,
        "Type": "RuleAction",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Priority": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-priority",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Statement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-statement",
        "Required": false,
        "Type": "StatementOne",
        "UpdateType": "Mutable"
      },
      "VisibilityConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-visibilityconfig",
        "Required": false,
        "Type": "VisibilityConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.RuleAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ruleaction.html",
    "Properties": {
      "Allow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ruleaction.html#cfn-wafv2-rulegroup-ruleaction-allow",
        "Required": false,
        "Type": "AllowAction",
        "UpdateType": "Mutable"
      },
      "Block": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ruleaction.html#cfn-wafv2-rulegroup-ruleaction-block",
        "Required": false,
        "Type": "BlockAction",
        "UpdateType": "Mutable"
      },
      "Count": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ruleaction.html#cfn-wafv2-rulegroup-ruleaction-count",
        "Required": false,
        "Type": "CountAction",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.Rules": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rules.html",
    "Properties": {
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rules.html#cfn-wafv2-rulegroup-rules-rules",
        "ItemType": "Rule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.SingleHeader": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-singleheader.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-singleheader.html#cfn-wafv2-rulegroup-singleheader-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.SingleQueryArgument": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-singlequeryargument.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-singlequeryargument.html#cfn-wafv2-rulegroup-singlequeryargument-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.SizeConstraintStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html",
    "Properties": {
      "ComparisonOperator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html#cfn-wafv2-rulegroup-sizeconstraintstatement-comparisonoperator",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html#cfn-wafv2-rulegroup-sizeconstraintstatement-fieldtomatch",
        "Required": false,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "Size": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html#cfn-wafv2-rulegroup-sizeconstraintstatement-size",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TextTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html#cfn-wafv2-rulegroup-sizeconstraintstatement-texttransformations",
        "Required": false,
        "Type": "TextTransformations",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.SqliMatchStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sqlimatchstatement.html",
    "Properties": {
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sqlimatchstatement.html#cfn-wafv2-rulegroup-sqlimatchstatement-fieldtomatch",
        "Required": false,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "TextTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sqlimatchstatement.html#cfn-wafv2-rulegroup-sqlimatchstatement-texttransformations",
        "Required": false,
        "Type": "TextTransformations",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.StatementOne": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html",
    "Properties": {
      "AndStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-andstatement",
        "Required": false,
        "Type": "AndStatementOne",
        "UpdateType": "Mutable"
      },
      "ByteMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-bytematchstatement",
        "Required": false,
        "Type": "ByteMatchStatement",
        "UpdateType": "Mutable"
      },
      "GeoMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-geomatchstatement",
        "Required": false,
        "Type": "GeoMatchStatement",
        "UpdateType": "Mutable"
      },
      "IPSetReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-ipsetreferencestatement",
        "Required": false,
        "Type": "IPSetReferenceStatement",
        "UpdateType": "Mutable"
      },
      "NotStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-notstatement",
        "Required": false,
        "Type": "NotStatementOne",
        "UpdateType": "Mutable"
      },
      "OrStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-orstatement",
        "Required": false,
        "Type": "OrStatementOne",
        "UpdateType": "Mutable"
      },
      "RateBasedStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-ratebasedstatement",
        "Required": false,
        "Type": "RateBasedStatementOne",
        "UpdateType": "Mutable"
      },
      "RegexPatternSetReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-regexpatternsetreferencestatement",
        "Required": false,
        "Type": "RegexPatternSetReferenceStatement",
        "UpdateType": "Mutable"
      },
      "SizeConstraintStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-sizeconstraintstatement",
        "Required": false,
        "Type": "SizeConstraintStatement",
        "UpdateType": "Mutable"
      },
      "SqliMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-sqlimatchstatement",
        "Required": false,
        "Type": "SqliMatchStatement",
        "UpdateType": "Mutable"
      },
      "XssMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementone.html#cfn-wafv2-rulegroup-statementone-xssmatchstatement",
        "Required": false,
        "Type": "XssMatchStatement",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.StatementThree": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html",
    "Properties": {
      "ByteMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-bytematchstatement",
        "Required": false,
        "Type": "ByteMatchStatement",
        "UpdateType": "Mutable"
      },
      "GeoMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-geomatchstatement",
        "Required": false,
        "Type": "GeoMatchStatement",
        "UpdateType": "Mutable"
      },
      "IPSetReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-ipsetreferencestatement",
        "Required": false,
        "Type": "IPSetReferenceStatement",
        "UpdateType": "Mutable"
      },
      "RegexPatternSetReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-regexpatternsetreferencestatement",
        "Required": false,
        "Type": "RegexPatternSetReferenceStatement",
        "UpdateType": "Mutable"
      },
      "SizeConstraintStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-sizeconstraintstatement",
        "Required": false,
        "Type": "SizeConstraintStatement",
        "UpdateType": "Mutable"
      },
      "SqliMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-sqlimatchstatement",
        "Required": false,
        "Type": "SqliMatchStatement",
        "UpdateType": "Mutable"
      },
      "XssMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthree.html#cfn-wafv2-rulegroup-statementthree-xssmatchstatement",
        "Required": false,
        "Type": "XssMatchStatement",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.StatementThrees": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthrees.html",
    "Properties": {
      "StatementThrees": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementthrees.html#cfn-wafv2-rulegroup-statementthrees-statementthrees",
        "ItemType": "StatementThree",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.StatementTwo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html",
    "Properties": {
      "AndStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-andstatement",
        "Required": false,
        "Type": "AndStatementTwo",
        "UpdateType": "Mutable"
      },
      "ByteMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-bytematchstatement",
        "Required": false,
        "Type": "ByteMatchStatement",
        "UpdateType": "Mutable"
      },
      "GeoMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-geomatchstatement",
        "Required": false,
        "Type": "GeoMatchStatement",
        "UpdateType": "Mutable"
      },
      "IPSetReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-ipsetreferencestatement",
        "Required": false,
        "Type": "IPSetReferenceStatement",
        "UpdateType": "Mutable"
      },
      "NotStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-notstatement",
        "Required": false,
        "Type": "NotStatementTwo",
        "UpdateType": "Mutable"
      },
      "OrStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-orstatement",
        "Required": false,
        "Type": "OrStatementTwo",
        "UpdateType": "Mutable"
      },
      "RateBasedStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-ratebasedstatement",
        "Required": false,
        "Type": "RateBasedStatementTwo",
        "UpdateType": "Mutable"
      },
      "RegexPatternSetReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-regexpatternsetreferencestatement",
        "Required": false,
        "Type": "RegexPatternSetReferenceStatement",
        "UpdateType": "Mutable"
      },
      "SizeConstraintStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-sizeconstraintstatement",
        "Required": false,
        "Type": "SizeConstraintStatement",
        "UpdateType": "Mutable"
      },
      "SqliMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-sqlimatchstatement",
        "Required": false,
        "Type": "SqliMatchStatement",
        "UpdateType": "Mutable"
      },
      "XssMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwo.html#cfn-wafv2-rulegroup-statementtwo-xssmatchstatement",
        "Required": false,
        "Type": "XssMatchStatement",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.StatementTwos": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwos.html",
    "Properties": {
      "StatementTwos": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statementtwos.html#cfn-wafv2-rulegroup-statementtwos-statementtwos",
        "ItemType": "StatementTwo",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.TagList": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-taglist.html",
    "Properties": {
      "TagList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-taglist.html#cfn-wafv2-rulegroup-taglist-taglist",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.TextTransformation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-texttransformation.html",
    "Properties": {
      "Priority": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-texttransformation.html#cfn-wafv2-rulegroup-texttransformation-priority",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-texttransformation.html#cfn-wafv2-rulegroup-texttransformation-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.TextTransformations": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-texttransformations.html",
    "Properties": {
      "TextTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-texttransformations.html#cfn-wafv2-rulegroup-texttransformations-texttransformations",
        "ItemType": "TextTransformation",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.UriPath": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-uripath.html"
  },
  "AWS::WAFv2::RuleGroup.VisibilityConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-visibilityconfig.html",
    "Properties": {
      "CloudWatchMetricsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-visibilityconfig.html#cfn-wafv2-rulegroup-visibilityconfig-cloudwatchmetricsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-visibilityconfig.html#cfn-wafv2-rulegroup-visibilityconfig-metricname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SampledRequestsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-visibilityconfig.html#cfn-wafv2-rulegroup-visibilityconfig-sampledrequestsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup.XssMatchStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html",
    "Properties": {
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html#cfn-wafv2-rulegroup-xssmatchstatement-fieldtomatch",
        "Required": false,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "TextTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html#cfn-wafv2-rulegroup-xssmatchstatement-texttransformations",
        "Required": false,
        "Type": "TextTransformations",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.AllQueryArguments": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-allqueryarguments.html"
  },
  "AWS::WAFv2::WebACL.AllowAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-allowaction.html"
  },
  "AWS::WAFv2::WebACL.AndStatementOne": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-andstatementone.html",
    "Properties": {
      "Statements": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-andstatementone.html#cfn-wafv2-webacl-andstatementone-statements",
        "Required": false,
        "Type": "StatementTwos",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.AndStatementTwo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-andstatementtwo.html",
    "Properties": {
      "Statements": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-andstatementtwo.html#cfn-wafv2-webacl-andstatementtwo-statements",
        "Required": false,
        "Type": "StatementThrees",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.BlockAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-blockaction.html"
  },
  "AWS::WAFv2::WebACL.Body": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-body.html"
  },
  "AWS::WAFv2::WebACL.ByteMatchStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html",
    "Properties": {
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-fieldtomatch",
        "Required": false,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "PositionalConstraint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-positionalconstraint",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SearchString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-searchstring",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SearchStringBase64": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-searchstringbase64",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TextTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html#cfn-wafv2-webacl-bytematchstatement-texttransformations",
        "Required": false,
        "Type": "TextTransformations",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.CountAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-countaction.html"
  },
  "AWS::WAFv2::WebACL.CountryCodes": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-countrycodes.html",
    "Properties": {
      "CountryCodes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-countrycodes.html#cfn-wafv2-webacl-countrycodes-countrycodes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.DefaultAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-defaultaction.html",
    "Properties": {
      "Allow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-defaultaction.html#cfn-wafv2-webacl-defaultaction-allow",
        "Required": false,
        "Type": "AllowAction",
        "UpdateType": "Mutable"
      },
      "Block": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-defaultaction.html#cfn-wafv2-webacl-defaultaction-block",
        "Required": false,
        "Type": "BlockAction",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.ExcludedRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-excludedrule.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-excludedrule.html#cfn-wafv2-webacl-excludedrule-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.ExcludedRules": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-excludedrules.html",
    "Properties": {
      "ExcludedRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-excludedrules.html#cfn-wafv2-webacl-excludedrules-excludedrules",
        "ItemType": "ExcludedRule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.FieldToMatch": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html",
    "Properties": {
      "AllQueryArguments": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-allqueryarguments",
        "Required": false,
        "Type": "AllQueryArguments",
        "UpdateType": "Mutable"
      },
      "Body": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-body",
        "Required": false,
        "Type": "Body",
        "UpdateType": "Mutable"
      },
      "Method": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-method",
        "Required": false,
        "Type": "Method",
        "UpdateType": "Mutable"
      },
      "QueryString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-querystring",
        "Required": false,
        "Type": "QueryString",
        "UpdateType": "Mutable"
      },
      "SingleHeader": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-singleheader",
        "Required": false,
        "Type": "SingleHeader",
        "UpdateType": "Mutable"
      },
      "SingleQueryArgument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-singlequeryargument",
        "Required": false,
        "Type": "SingleQueryArgument",
        "UpdateType": "Mutable"
      },
      "UriPath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html#cfn-wafv2-webacl-fieldtomatch-uripath",
        "Required": false,
        "Type": "UriPath",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.GeoMatchStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-geomatchstatement.html",
    "Properties": {
      "CountryCodes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-geomatchstatement.html#cfn-wafv2-webacl-geomatchstatement-countrycodes",
        "Required": false,
        "Type": "CountryCodes",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.IPSetReferenceStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetreferencestatement.html",
    "Properties": {
      "Arn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetreferencestatement.html#cfn-wafv2-webacl-ipsetreferencestatement-arn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.ManagedRuleGroupStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupstatement.html",
    "Properties": {
      "ExcludedRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupstatement.html#cfn-wafv2-webacl-managedrulegroupstatement-excludedrules",
        "Required": false,
        "Type": "ExcludedRules",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupstatement.html#cfn-wafv2-webacl-managedrulegroupstatement-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "VendorName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupstatement.html#cfn-wafv2-webacl-managedrulegroupstatement-vendorname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.Method": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-method.html"
  },
  "AWS::WAFv2::WebACL.NoneAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-noneaction.html"
  },
  "AWS::WAFv2::WebACL.NotStatementOne": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-notstatementone.html",
    "Properties": {
      "Statement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-notstatementone.html#cfn-wafv2-webacl-notstatementone-statement",
        "Required": false,
        "Type": "StatementTwo",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.NotStatementTwo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-notstatementtwo.html",
    "Properties": {
      "Statement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-notstatementtwo.html#cfn-wafv2-webacl-notstatementtwo-statement",
        "Required": false,
        "Type": "StatementThree",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.OrStatementOne": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-orstatementone.html",
    "Properties": {
      "Statements": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-orstatementone.html#cfn-wafv2-webacl-orstatementone-statements",
        "Required": false,
        "Type": "StatementTwos",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.OrStatementTwo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-orstatementtwo.html",
    "Properties": {
      "Statements": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-orstatementtwo.html#cfn-wafv2-webacl-orstatementtwo-statements",
        "Required": false,
        "Type": "StatementThrees",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.OverrideAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-overrideaction.html",
    "Properties": {
      "Count": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-overrideaction.html#cfn-wafv2-webacl-overrideaction-count",
        "Required": false,
        "Type": "CountAction",
        "UpdateType": "Mutable"
      },
      "None": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-overrideaction.html#cfn-wafv2-webacl-overrideaction-none",
        "Required": false,
        "Type": "NoneAction",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.QueryString": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-querystring.html"
  },
  "AWS::WAFv2::WebACL.RateBasedStatementOne": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html",
    "Properties": {
      "AggregateKeyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Limit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScopeDownStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement",
        "Required": false,
        "Type": "StatementTwo",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.RateBasedStatementTwo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html",
    "Properties": {
      "AggregateKeyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Limit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ScopeDownStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement",
        "Required": false,
        "Type": "StatementThree",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.RegexPatternSetReferenceStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regexpatternsetreferencestatement.html",
    "Properties": {
      "Arn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regexpatternsetreferencestatement.html#cfn-wafv2-webacl-regexpatternsetreferencestatement-arn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regexpatternsetreferencestatement.html#cfn-wafv2-webacl-regexpatternsetreferencestatement-fieldtomatch",
        "Required": false,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "TextTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regexpatternsetreferencestatement.html#cfn-wafv2-webacl-regexpatternsetreferencestatement-texttransformations",
        "Required": false,
        "Type": "TextTransformations",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.Rule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html#cfn-wafv2-webacl-rule-action",
        "Required": false,
        "Type": "RuleAction",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html#cfn-wafv2-webacl-rule-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OverrideAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html#cfn-wafv2-webacl-rule-overrideaction",
        "Required": false,
        "Type": "OverrideAction",
        "UpdateType": "Mutable"
      },
      "Priority": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html#cfn-wafv2-webacl-rule-priority",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Statement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html#cfn-wafv2-webacl-rule-statement",
        "Required": false,
        "Type": "StatementOne",
        "UpdateType": "Mutable"
      },
      "VisibilityConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html#cfn-wafv2-webacl-rule-visibilityconfig",
        "Required": false,
        "Type": "VisibilityConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.RuleAction": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ruleaction.html",
    "Properties": {
      "Allow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ruleaction.html#cfn-wafv2-webacl-ruleaction-allow",
        "Required": false,
        "Type": "AllowAction",
        "UpdateType": "Mutable"
      },
      "Block": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ruleaction.html#cfn-wafv2-webacl-ruleaction-block",
        "Required": false,
        "Type": "BlockAction",
        "UpdateType": "Mutable"
      },
      "Count": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ruleaction.html#cfn-wafv2-webacl-ruleaction-count",
        "Required": false,
        "Type": "CountAction",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.RuleGroupReferenceStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rulegroupreferencestatement.html",
    "Properties": {
      "Arn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rulegroupreferencestatement.html#cfn-wafv2-webacl-rulegroupreferencestatement-arn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExcludedRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rulegroupreferencestatement.html#cfn-wafv2-webacl-rulegroupreferencestatement-excludedrules",
        "Required": false,
        "Type": "ExcludedRules",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.Rules": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rules.html",
    "Properties": {
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rules.html#cfn-wafv2-webacl-rules-rules",
        "ItemType": "Rule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.SingleHeader": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-singleheader.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-singleheader.html#cfn-wafv2-webacl-singleheader-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.SingleQueryArgument": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-singlequeryargument.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-singlequeryargument.html#cfn-wafv2-webacl-singlequeryargument-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.SizeConstraintStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sizeconstraintstatement.html",
    "Properties": {
      "ComparisonOperator": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sizeconstraintstatement.html#cfn-wafv2-webacl-sizeconstraintstatement-comparisonoperator",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sizeconstraintstatement.html#cfn-wafv2-webacl-sizeconstraintstatement-fieldtomatch",
        "Required": false,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "Size": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sizeconstraintstatement.html#cfn-wafv2-webacl-sizeconstraintstatement-size",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TextTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sizeconstraintstatement.html#cfn-wafv2-webacl-sizeconstraintstatement-texttransformations",
        "Required": false,
        "Type": "TextTransformations",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.SqliMatchStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sqlimatchstatement.html",
    "Properties": {
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sqlimatchstatement.html#cfn-wafv2-webacl-sqlimatchstatement-fieldtomatch",
        "Required": false,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "TextTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sqlimatchstatement.html#cfn-wafv2-webacl-sqlimatchstatement-texttransformations",
        "Required": false,
        "Type": "TextTransformations",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.StatementOne": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html",
    "Properties": {
      "AndStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-andstatement",
        "Required": false,
        "Type": "AndStatementOne",
        "UpdateType": "Mutable"
      },
      "ByteMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-bytematchstatement",
        "Required": false,
        "Type": "ByteMatchStatement",
        "UpdateType": "Mutable"
      },
      "GeoMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-geomatchstatement",
        "Required": false,
        "Type": "GeoMatchStatement",
        "UpdateType": "Mutable"
      },
      "IPSetReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-ipsetreferencestatement",
        "Required": false,
        "Type": "IPSetReferenceStatement",
        "UpdateType": "Mutable"
      },
      "ManagedRuleGroupStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-managedrulegroupstatement",
        "Required": false,
        "Type": "ManagedRuleGroupStatement",
        "UpdateType": "Mutable"
      },
      "NotStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-notstatement",
        "Required": false,
        "Type": "NotStatementOne",
        "UpdateType": "Mutable"
      },
      "OrStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-orstatement",
        "Required": false,
        "Type": "OrStatementOne",
        "UpdateType": "Mutable"
      },
      "RateBasedStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-ratebasedstatement",
        "Required": false,
        "Type": "RateBasedStatementOne",
        "UpdateType": "Mutable"
      },
      "RegexPatternSetReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-regexpatternsetreferencestatement",
        "Required": false,
        "Type": "RegexPatternSetReferenceStatement",
        "UpdateType": "Mutable"
      },
      "RuleGroupReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-rulegroupreferencestatement",
        "Required": false,
        "Type": "RuleGroupReferenceStatement",
        "UpdateType": "Mutable"
      },
      "SizeConstraintStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-sizeconstraintstatement",
        "Required": false,
        "Type": "SizeConstraintStatement",
        "UpdateType": "Mutable"
      },
      "SqliMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-sqlimatchstatement",
        "Required": false,
        "Type": "SqliMatchStatement",
        "UpdateType": "Mutable"
      },
      "XssMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementone.html#cfn-wafv2-webacl-statementone-xssmatchstatement",
        "Required": false,
        "Type": "XssMatchStatement",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.StatementThree": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html",
    "Properties": {
      "ByteMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-bytematchstatement",
        "Required": false,
        "Type": "ByteMatchStatement",
        "UpdateType": "Mutable"
      },
      "GeoMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-geomatchstatement",
        "Required": false,
        "Type": "GeoMatchStatement",
        "UpdateType": "Mutable"
      },
      "IPSetReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-ipsetreferencestatement",
        "Required": false,
        "Type": "IPSetReferenceStatement",
        "UpdateType": "Mutable"
      },
      "ManagedRuleGroupStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-managedrulegroupstatement",
        "Required": false,
        "Type": "ManagedRuleGroupStatement",
        "UpdateType": "Mutable"
      },
      "RegexPatternSetReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-regexpatternsetreferencestatement",
        "Required": false,
        "Type": "RegexPatternSetReferenceStatement",
        "UpdateType": "Mutable"
      },
      "RuleGroupReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-rulegroupreferencestatement",
        "Required": false,
        "Type": "RuleGroupReferenceStatement",
        "UpdateType": "Mutable"
      },
      "SizeConstraintStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-sizeconstraintstatement",
        "Required": false,
        "Type": "SizeConstraintStatement",
        "UpdateType": "Mutable"
      },
      "SqliMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-sqlimatchstatement",
        "Required": false,
        "Type": "SqliMatchStatement",
        "UpdateType": "Mutable"
      },
      "XssMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthree.html#cfn-wafv2-webacl-statementthree-xssmatchstatement",
        "Required": false,
        "Type": "XssMatchStatement",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.StatementThrees": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthrees.html",
    "Properties": {
      "StatementThrees": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementthrees.html#cfn-wafv2-webacl-statementthrees-statementthrees",
        "ItemType": "StatementThree",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.StatementTwo": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html",
    "Properties": {
      "AndStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-andstatement",
        "Required": false,
        "Type": "AndStatementTwo",
        "UpdateType": "Mutable"
      },
      "ByteMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-bytematchstatement",
        "Required": false,
        "Type": "ByteMatchStatement",
        "UpdateType": "Mutable"
      },
      "GeoMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-geomatchstatement",
        "Required": false,
        "Type": "GeoMatchStatement",
        "UpdateType": "Mutable"
      },
      "IPSetReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-ipsetreferencestatement",
        "Required": false,
        "Type": "IPSetReferenceStatement",
        "UpdateType": "Mutable"
      },
      "ManagedRuleGroupStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-managedrulegroupstatement",
        "Required": false,
        "Type": "ManagedRuleGroupStatement",
        "UpdateType": "Mutable"
      },
      "NotStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-notstatement",
        "Required": false,
        "Type": "NotStatementTwo",
        "UpdateType": "Mutable"
      },
      "OrStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-orstatement",
        "Required": false,
        "Type": "OrStatementTwo",
        "UpdateType": "Mutable"
      },
      "RateBasedStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-ratebasedstatement",
        "Required": false,
        "Type": "RateBasedStatementTwo",
        "UpdateType": "Mutable"
      },
      "RegexPatternSetReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-regexpatternsetreferencestatement",
        "Required": false,
        "Type": "RegexPatternSetReferenceStatement",
        "UpdateType": "Mutable"
      },
      "RuleGroupReferenceStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-rulegroupreferencestatement",
        "Required": false,
        "Type": "RuleGroupReferenceStatement",
        "UpdateType": "Mutable"
      },
      "SizeConstraintStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-sizeconstraintstatement",
        "Required": false,
        "Type": "SizeConstraintStatement",
        "UpdateType": "Mutable"
      },
      "SqliMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-sqlimatchstatement",
        "Required": false,
        "Type": "SqliMatchStatement",
        "UpdateType": "Mutable"
      },
      "XssMatchStatement": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwo.html#cfn-wafv2-webacl-statementtwo-xssmatchstatement",
        "Required": false,
        "Type": "XssMatchStatement",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.StatementTwos": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwos.html",
    "Properties": {
      "StatementTwos": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statementtwos.html#cfn-wafv2-webacl-statementtwos-statementtwos",
        "ItemType": "StatementTwo",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.TagList": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-taglist.html",
    "Properties": {
      "TagList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-taglist.html#cfn-wafv2-webacl-taglist-taglist",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.TextTransformation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-texttransformation.html",
    "Properties": {
      "Priority": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-texttransformation.html#cfn-wafv2-webacl-texttransformation-priority",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-texttransformation.html#cfn-wafv2-webacl-texttransformation-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.TextTransformations": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-texttransformations.html",
    "Properties": {
      "TextTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-texttransformations.html#cfn-wafv2-webacl-texttransformations-texttransformations",
        "ItemType": "TextTransformation",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.UriPath": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-uripath.html"
  },
  "AWS::WAFv2::WebACL.VisibilityConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-visibilityconfig.html",
    "Properties": {
      "CloudWatchMetricsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-visibilityconfig.html#cfn-wafv2-webacl-visibilityconfig-cloudwatchmetricsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-visibilityconfig.html#cfn-wafv2-webacl-visibilityconfig-metricname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SampledRequestsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-visibilityconfig.html#cfn-wafv2-webacl-visibilityconfig-sampledrequestsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL.XssMatchStatement": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-xssmatchstatement.html",
    "Properties": {
      "FieldToMatch": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-xssmatchstatement.html#cfn-wafv2-webacl-xssmatchstatement-fieldtomatch",
        "Required": false,
        "Type": "FieldToMatch",
        "UpdateType": "Mutable"
      },
      "TextTransformations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-xssmatchstatement.html#cfn-wafv2-webacl-xssmatchstatement-texttransformations",
        "Required": false,
        "Type": "TextTransformations",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WorkSpaces::Workspace.WorkspaceProperties": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html",
    "Properties": {
      "ComputeTypeName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-computetypename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RootVolumeSizeGib": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-rootvolumesizegib",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RunningMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-runningmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RunningModeAutoStopTimeoutInMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-runningmodeautostoptimeoutinminutes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserVolumeSizeGib": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-workspaces-workspace-workspaceproperties.html#cfn-workspaces-workspace-workspaceproperties-uservolumesizegib",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "Alexa::ASK::Skill.AuthenticationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-authenticationconfiguration.html",
    "Properties": {
      "ClientId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-authenticationconfiguration.html#cfn-ask-skill-authenticationconfiguration-clientid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ClientSecret": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-authenticationconfiguration.html#cfn-ask-skill-authenticationconfiguration-clientsecret",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RefreshToken": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-authenticationconfiguration.html#cfn-ask-skill-authenticationconfiguration-refreshtoken",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "Alexa::ASK::Skill.Overrides": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-overrides.html",
    "Properties": {
      "Manifest": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-overrides.html#cfn-ask-skill-overrides-manifest",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "Alexa::ASK::Skill.SkillPackage": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html",
    "Properties": {
      "Overrides": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-overrides",
        "Required": false,
        "Type": "Overrides",
        "UpdateType": "Mutable"
      },
      "S3Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3BucketRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3bucketrole",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "S3Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "S3ObjectVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3objectversion",
        "PrimitiveType": "String",
        "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": "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"
      }
    }
  }
},
"ResourceSpecificationVersion": "10.2.0",
"ResourceTypes": {
  "AWS::AccessAnalyzer::Analyzer": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html",
    "Properties": {
      "AnalyzerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-analyzername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ArchiveRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-archiverules",
        "ItemType": "ArchiveRule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-tags",
        "DuplicatesAllowed": false,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-accessanalyzer-analyzer.html#cfn-accessanalyzer-analyzer-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::AmazonMQ::Broker": {
    "Attributes": {
      "AmqpEndpoints": {
        "PrimitiveItemType": "String",
        "Type": "List"
      },
      "Arn": {
        "PrimitiveType": "String"
      },
      "ConfigurationId": {
        "PrimitiveType": "String"
      },
      "ConfigurationRevision": {
        "PrimitiveType": "Integer"
      },
      "IpAddresses": {
        "PrimitiveItemType": "String",
        "Type": "List"
      },
      "MqttEndpoints": {
        "PrimitiveItemType": "String",
        "Type": "List"
      },
      "OpenWireEndpoints": {
        "PrimitiveItemType": "String",
        "Type": "List"
      },
      "StompEndpoints": {
        "PrimitiveItemType": "String",
        "Type": "List"
      },
      "WssEndpoints": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html",
    "Properties": {
      "AutoMinorVersionUpgrade": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-autominorversionupgrade",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "BrokerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-brokername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Configuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-configuration",
        "Required": false,
        "Type": "ConfigurationId",
        "UpdateType": "Mutable"
      },
      "DeploymentMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-deploymentmode",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "EncryptionOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-encryptionoptions",
        "Required": false,
        "Type": "EncryptionOptions",
        "UpdateType": "Immutable"
      },
      "EngineType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-enginetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "EngineVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-engineversion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "HostInstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-hostinstancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Logs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-logs",
        "Required": false,
        "Type": "LogList",
        "UpdateType": "Mutable"
      },
      "MaintenanceWindowStartTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-maintenancewindowstarttime",
        "Required": false,
        "Type": "MaintenanceWindow",
        "UpdateType": "Immutable"
      },
      "PubliclyAccessible": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-publiclyaccessible",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-securitygroups",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "StorageType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-storagetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-subnetids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-tags",
        "ItemType": "TagsEntry",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Users": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-broker.html#cfn-amazonmq-broker-users",
        "ItemType": "User",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AmazonMQ::Configuration": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      },
      "Revision": {
        "PrimitiveType": "Integer"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html",
    "Properties": {
      "Data": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-data",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EngineType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-enginetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "EngineVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-engineversion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configuration.html#cfn-amazonmq-configuration-tags",
        "ItemType": "TagsEntry",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AmazonMQ::ConfigurationAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html",
    "Properties": {
      "Broker": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html#cfn-amazonmq-configurationassociation-broker",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Configuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amazonmq-configurationassociation.html#cfn-amazonmq-configurationassociation-configuration",
        "Required": true,
        "Type": "ConfigurationId",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Amplify::App": {
    "Attributes": {
      "AppId": {
        "PrimitiveType": "String"
      },
      "AppName": {
        "PrimitiveType": "String"
      },
      "Arn": {
        "PrimitiveType": "String"
      },
      "DefaultDomain": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html",
    "Properties": {
      "AccessToken": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-accesstoken",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AutoBranchCreationConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-autobranchcreationconfig",
        "Required": false,
        "Type": "AutoBranchCreationConfig",
        "UpdateType": "Mutable"
      },
      "BasicAuthConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-basicauthconfig",
        "Required": false,
        "Type": "BasicAuthConfig",
        "UpdateType": "Mutable"
      },
      "BuildSpec": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-buildspec",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CustomRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-customrules",
        "ItemType": "CustomRule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnvironmentVariables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-environmentvariables",
        "ItemType": "EnvironmentVariable",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "IAMServiceRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-iamservicerole",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OauthToken": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-oauthtoken",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Repository": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-repository",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-app.html#cfn-amplify-app-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Amplify::Branch": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "BranchName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html",
    "Properties": {
      "AppId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-appid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "BasicAuthConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-basicauthconfig",
        "Required": false,
        "Type": "BasicAuthConfig",
        "UpdateType": "Mutable"
      },
      "BranchName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-branchname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "BuildSpec": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-buildspec",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnableAutoBuild": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-enableautobuild",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnablePullRequestPreview": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-enablepullrequestpreview",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnvironmentVariables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-environmentvariables",
        "ItemType": "EnvironmentVariable",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PullRequestEnvironmentName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-pullrequestenvironmentname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Stage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-stage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-branch.html#cfn-amplify-branch-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Amplify::Domain": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "CertificateRecord": {
        "PrimitiveType": "String"
      },
      "DomainName": {
        "PrimitiveType": "String"
      },
      "DomainStatus": {
        "PrimitiveType": "String"
      },
      "StatusReason": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html",
    "Properties": {
      "AppId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-appid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-domainname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SubDomainSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-amplify-domain.html#cfn-amplify-domain-subdomainsettings",
        "ItemType": "SubDomainSetting",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "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::ApiGateway::ApiKey": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html",
    "Properties": {
      "CustomerId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-customerid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-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-apikey-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GenerateDistinctId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-generatedistinctid",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-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-apikey-stagekeys",
        "DuplicatesAllowed": false,
        "ItemType": "StageKey",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-value",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::Authorizer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html",
    "Properties": {
      "AuthType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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": true,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-type",
        "PrimitiveType": "String",
        "Required": true,
        "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": true,
        "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::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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Deployment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html",
    "Properties": {
      "DeploymentCanarySettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-deploymentcanarysettings",
        "Required": false,
        "Type": "DeploymentCanarySettings",
        "UpdateType": "Immutable"
      },
      "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::ApiGateway::DocumentationPart": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html",
    "Properties": {
      "Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html#cfn-apigateway-documentationpart-location",
        "Required": true,
        "Type": "Location",
        "UpdateType": "Immutable"
      },
      "Properties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html#cfn-apigateway-documentationpart-properties",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html#cfn-apigateway-documentationpart-restapiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::DocumentationVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DocumentationVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-documentationversion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationversion.html#cfn-apigateway-documentationversion-restapiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::DomainName": {
    "Attributes": {
      "DistributionDomainName": {
        "PrimitiveType": "String"
      },
      "DistributionHostedZoneId": {
        "PrimitiveType": "String"
      },
      "RegionalDomainName": {
        "PrimitiveType": "String"
      },
      "RegionalHostedZoneId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html",
    "Properties": {
      "CertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "EndpointConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-endpointconfiguration",
        "Required": false,
        "Type": "EndpointConfiguration",
        "UpdateType": "Mutable"
      },
      "RegionalCertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecurityPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::GatewayResponse": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html",
    "Properties": {
      "ResponseParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responseparameters",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "ResponseTemplates": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responsetemplates",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "ResponseType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-responsetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-restapiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "StatusCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-gatewayresponse.html#cfn-apigateway-gatewayresponse-statuscode",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "AuthorizationScopes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationscopes",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "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"
      },
      "OperationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-operationname",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "RequestValidatorId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestvalidatorid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-resourceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-restapiid",
        "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::ApiGateway::RequestValidator": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RestApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-restapiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ValidateRequestBody": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-validaterequestbody",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ValidateRequestParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-requestvalidator.html#cfn-apigateway-requestvalidator-validaterequestparameters",
        "PrimitiveType": "Boolean",
        "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::ApiGateway::RestApi": {
    "Attributes": {
      "RootResourceId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html",
    "Properties": {
      "ApiKeySourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-apikeysourcetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "BinaryMediaTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-binarymediatypes",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "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"
      },
      "EndpointConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-endpointconfiguration",
        "Required": false,
        "Type": "EndpointConfiguration",
        "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"
      },
      "MinimumCompressionSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-minimumcompressionsize",
        "PrimitiveType": "Integer",
        "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"
      },
      "Policy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-policy",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGateway::Stage": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html",
    "Properties": {
      "AccessLogSetting": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting",
        "Required": false,
        "Type": "AccessLogSetting",
        "UpdateType": "Mutable"
      },
      "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"
      },
      "CanarySetting": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting",
        "Required": false,
        "Type": "CanarySetting",
        "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"
      },
      "DocumentationVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-documentationversion",
        "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": true,
        "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TracingEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tracingenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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::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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "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::ApiGateway::UsagePlanKey": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html",
    "Properties": {
      "KeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html#cfn-apigateway-usageplankey-keyid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "KeyType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html#cfn-apigateway-usageplankey-keytype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "UsagePlanId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html#cfn-apigateway-usageplankey-usageplanid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGateway::VpcLink": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-vpclink.html#cfn-apigateway-vpclink-targetarns",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ApiGatewayV2::Api": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html",
    "Properties": {
      "ApiKeySelectionExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-apikeyselectionexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "BasePath": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-basepath",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Body": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "BodyS3Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-bodys3location",
        "Required": false,
        "Type": "BodyS3Location",
        "UpdateType": "Mutable"
      },
      "CorsConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-corsconfiguration",
        "Required": false,
        "Type": "Cors",
        "UpdateType": "Mutable"
      },
      "CredentialsArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-credentialsarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DisableSchemaValidation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-disableschemavalidation",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FailOnWarnings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-failonwarnings",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ProtocolType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-protocoltype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RouteKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-routekey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RouteSelectionExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-routeselectionexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Target": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-target",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::ApiMapping": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ApiMappingKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-apimappingkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-domainname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Stage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-stage",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::Authorizer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "AuthorizerCredentialsArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizercredentialsarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AuthorizerResultTtlInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizerresultttlinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AuthorizerType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizertype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "AuthorizerUri": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-authorizeruri",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IdentitySource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-identitysource",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "IdentityValidationExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-identityvalidationexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "JwtConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-jwtconfiguration",
        "Required": false,
        "Type": "JWTConfiguration",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-authorizer.html#cfn-apigatewayv2-authorizer-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::Deployment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html#cfn-apigatewayv2-deployment-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html#cfn-apigatewayv2-deployment-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StageName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-deployment.html#cfn-apigatewayv2-deployment-stagename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::DomainName": {
    "Attributes": {
      "RegionalDomainName": {
        "PrimitiveType": "String"
      },
      "RegionalHostedZoneId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html",
    "Properties": {
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-domainname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DomainNameConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-domainnameconfigurations",
        "ItemType": "DomainNameConfiguration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::Integration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ConnectionType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-connectiontype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ContentHandlingStrategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-contenthandlingstrategy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CredentialsArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-credentialsarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IntegrationMethod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationmethod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IntegrationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IntegrationUri": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-integrationuri",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PassthroughBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-passthroughbehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PayloadFormatVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-payloadformatversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequestParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-requestparameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequestTemplates": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-requesttemplates",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TemplateSelectionExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-templateselectionexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TimeoutInMillis": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integration.html#cfn-apigatewayv2-integration-timeoutinmillis",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::IntegrationResponse": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ContentHandlingStrategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-contenthandlingstrategy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IntegrationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-integrationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "IntegrationResponseKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-integrationresponsekey",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ResponseParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-responseparameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResponseTemplates": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-responsetemplates",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TemplateSelectionExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-integrationresponse.html#cfn-apigatewayv2-integrationresponse-templateselectionexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::Model": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ContentType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-contenttype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Schema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-model.html#cfn-apigatewayv2-model-schema",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::Route": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ApiKeyRequired": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-apikeyrequired",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AuthorizationScopes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizationscopes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AuthorizationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizationtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AuthorizerId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-authorizerid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ModelSelectionExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-modelselectionexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OperationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-operationname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequestModels": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-requestmodels",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequestParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-requestparameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RouteKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-routekey",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RouteResponseSelectionExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-routeresponseselectionexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Target": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-route.html#cfn-apigatewayv2-route-target",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::RouteResponse": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ModelSelectionExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-modelselectionexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResponseModels": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-responsemodels",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResponseParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-responseparameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RouteId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-routeid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RouteResponseKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-routeresponse.html#cfn-apigatewayv2-routeresponse-routeresponsekey",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ApiGatewayV2::Stage": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html",
    "Properties": {
      "AccessLogSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings",
        "Required": false,
        "Type": "AccessLogSettings",
        "UpdateType": "Mutable"
      },
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "AutoDeploy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-autodeploy",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ClientCertificateId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-clientcertificateid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultRouteSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-defaultroutesettings",
        "Required": false,
        "Type": "RouteSettings",
        "UpdateType": "Mutable"
      },
      "DeploymentId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-deploymentid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RouteSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StageName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "StageVariables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Mesh": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "MeshName": {
        "PrimitiveType": "String"
      },
      "Uid": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html",
    "Properties": {
      "MeshName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html#cfn-appmesh-mesh-meshname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Spec": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html#cfn-appmesh-mesh-spec",
        "Required": false,
        "Type": "MeshSpec",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-mesh.html#cfn-appmesh-mesh-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppMesh::Route": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "MeshName": {
        "PrimitiveType": "String"
      },
      "RouteName": {
        "PrimitiveType": "String"
      },
      "Uid": {
        "PrimitiveType": "String"
      },
      "VirtualRouterName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html",
    "Properties": {
      "MeshName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-meshname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RouteName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-routename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Spec": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-spec",
        "Required": true,
        "Type": "RouteSpec",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VirtualRouterName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-route.html#cfn-appmesh-route-virtualroutername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::AppMesh::VirtualNode": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "MeshName": {
        "PrimitiveType": "String"
      },
      "Uid": {
        "PrimitiveType": "String"
      },
      "VirtualNodeName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html",
    "Properties": {
      "MeshName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-meshname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Spec": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-spec",
        "Required": true,
        "Type": "VirtualNodeSpec",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VirtualNodeName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html#cfn-appmesh-virtualnode-virtualnodename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::AppMesh::VirtualRouter": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "MeshName": {
        "PrimitiveType": "String"
      },
      "Uid": {
        "PrimitiveType": "String"
      },
      "VirtualRouterName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html",
    "Properties": {
      "MeshName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-meshname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Spec": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-spec",
        "Required": true,
        "Type": "VirtualRouterSpec",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VirtualRouterName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualrouter.html#cfn-appmesh-virtualrouter-virtualroutername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::AppMesh::VirtualService": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "MeshName": {
        "PrimitiveType": "String"
      },
      "Uid": {
        "PrimitiveType": "String"
      },
      "VirtualServiceName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html",
    "Properties": {
      "MeshName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-meshname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Spec": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-spec",
        "Required": true,
        "Type": "VirtualServiceSpec",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VirtualServiceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualservice.html#cfn-appmesh-virtualservice-virtualservicename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::AppStream::DirectoryConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html",
    "Properties": {
      "DirectoryName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html#cfn-appstream-directoryconfig-directoryname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "OrganizationalUnitDistinguishedNames": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html#cfn-appstream-directoryconfig-organizationalunitdistinguishednames",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ServiceAccountCredentials": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html#cfn-appstream-directoryconfig-serviceaccountcredentials",
        "Required": true,
        "Type": "ServiceAccountCredentials",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::Fleet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html",
    "Properties": {
      "ComputeCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-computecapacity",
        "Required": true,
        "Type": "ComputeCapacity",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DisconnectTimeoutInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-disconnecttimeoutinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DisplayName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-displayname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DomainJoinInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-domainjoininfo",
        "Required": false,
        "Type": "DomainJoinInfo",
        "UpdateType": "Mutable"
      },
      "EnableDefaultInternetAccess": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-enabledefaultinternetaccess",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FleetType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-fleettype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "IdleDisconnectTimeoutInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-idledisconnecttimeoutinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ImageArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-imagearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ImageName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-imagename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MaxUserDurationInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-maxuserdurationinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-vpcconfig",
        "Required": false,
        "Type": "VpcConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::ImageBuilder": {
    "Attributes": {
      "StreamingUrl": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html",
    "Properties": {
      "AccessEndpoints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-accessendpoints",
        "ItemType": "AccessEndpoint",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AppstreamAgentVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-appstreamagentversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DisplayName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-displayname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DomainJoinInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-domainjoininfo",
        "Required": false,
        "Type": "DomainJoinInfo",
        "UpdateType": "Mutable"
      },
      "EnableDefaultInternetAccess": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-enabledefaultinternetaccess",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ImageArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-imagearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ImageName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-imagename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-vpcconfig",
        "Required": false,
        "Type": "VpcConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::Stack": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html",
    "Properties": {
      "AccessEndpoints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-accessendpoints",
        "ItemType": "AccessEndpoint",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ApplicationSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-applicationsettings",
        "Required": false,
        "Type": "ApplicationSettings",
        "UpdateType": "Mutable"
      },
      "AttributesToDelete": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-attributestodelete",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DeleteStorageConnectors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-deletestorageconnectors",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DisplayName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-displayname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EmbedHostDomains": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-embedhostdomains",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "FeedbackURL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-feedbackurl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RedirectURL": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-redirecturl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StorageConnectors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-storageconnectors",
        "ItemType": "StorageConnector",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "UserSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-usersettings",
        "ItemType": "UserSetting",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::StackFleetAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html",
    "Properties": {
      "FleetName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html#cfn-appstream-stackfleetassociation-fleetname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StackName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html#cfn-appstream-stackfleetassociation-stackname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppStream::StackUserAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html",
    "Properties": {
      "AuthenticationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html#cfn-appstream-stackuserassociation-authenticationtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SendEmailNotification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html#cfn-appstream-stackuserassociation-sendemailnotification",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StackName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html#cfn-appstream-stackuserassociation-stackname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "UserName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html#cfn-appstream-stackuserassociation-username",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::AppStream::User": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html",
    "Properties": {
      "AuthenticationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-authenticationtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "FirstName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-firstname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LastName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-lastname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MessageAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-messageaction",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "UserName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-username",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::AppSync::ApiCache": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html",
    "Properties": {
      "ApiCachingBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apicachingbehavior",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "AtRestEncryptionEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-atrestencryptionenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TransitEncryptionEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-transitencryptionenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Ttl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-ttl",
        "PrimitiveType": "Double",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html#cfn-appsync-apicache-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::ApiKey": {
    "Attributes": {
      "ApiKey": {
        "PrimitiveType": "String"
      },
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Expires": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-expires",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::DataSource": {
    "Attributes": {
      "DataSourceArn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DynamoDBConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-dynamodbconfig",
        "Required": false,
        "Type": "DynamoDBConfig",
        "UpdateType": "Mutable"
      },
      "ElasticsearchConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-elasticsearchconfig",
        "Required": false,
        "Type": "ElasticsearchConfig",
        "UpdateType": "Mutable"
      },
      "HttpConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-httpconfig",
        "Required": false,
        "Type": "HttpConfig",
        "UpdateType": "Mutable"
      },
      "LambdaConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-lambdaconfig",
        "Required": false,
        "Type": "LambdaConfig",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RelationalDatabaseConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-relationaldatabaseconfig",
        "Required": false,
        "Type": "RelationalDatabaseConfig",
        "UpdateType": "Mutable"
      },
      "ServiceRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-servicerolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::FunctionConfiguration": {
    "Attributes": {
      "DataSourceName": {
        "PrimitiveType": "String"
      },
      "FunctionArn": {
        "PrimitiveType": "String"
      },
      "FunctionId": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DataSourceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-datasourcename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FunctionVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-functionversion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RequestMappingTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-requestmappingtemplate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequestMappingTemplateS3Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-requestmappingtemplates3location",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResponseMappingTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-responsemappingtemplate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResponseMappingTemplateS3Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-responsemappingtemplates3location",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::GraphQLApi": {
    "Attributes": {
      "ApiId": {
        "PrimitiveType": "String"
      },
      "Arn": {
        "PrimitiveType": "String"
      },
      "GraphQLUrl": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html",
    "Properties": {
      "AdditionalAuthenticationProviders": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-additionalauthenticationproviders",
        "Required": false,
        "Type": "AdditionalAuthenticationProviders",
        "UpdateType": "Mutable"
      },
      "AuthenticationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-authenticationtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "LogConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-logconfig",
        "Required": false,
        "Type": "LogConfig",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OpenIDConnectConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-openidconnectconfig",
        "Required": false,
        "Type": "OpenIDConnectConfig",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-tags",
        "Required": false,
        "Type": "Tags",
        "UpdateType": "Mutable"
      },
      "UserPoolConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-userpoolconfig",
        "Required": false,
        "Type": "UserPoolConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::GraphQLSchema": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Definition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-definition",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefinitionS3Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-definitions3location",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::AppSync::Resolver": {
    "Attributes": {
      "FieldName": {
        "PrimitiveType": "String"
      },
      "ResolverArn": {
        "PrimitiveType": "String"
      },
      "TypeName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html",
    "Properties": {
      "ApiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-apiid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "CachingConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-cachingconfig",
        "Required": false,
        "Type": "CachingConfig",
        "UpdateType": "Mutable"
      },
      "DataSourceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-datasourcename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FieldName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-fieldname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Kind": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-kind",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PipelineConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-pipelineconfig",
        "Required": false,
        "Type": "PipelineConfig",
        "UpdateType": "Mutable"
      },
      "RequestMappingTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-requestmappingtemplate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequestMappingTemplateS3Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-requestmappingtemplates3location",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResponseMappingTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-responsemappingtemplate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResponseMappingTemplateS3Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-responsemappingtemplates3location",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SyncConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-syncconfig",
        "Required": false,
        "Type": "SyncConfig",
        "UpdateType": "Mutable"
      },
      "TypeName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-typename",
        "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"
      },
      "ScheduledActions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-scheduledactions",
        "DuplicatesAllowed": false,
        "ItemType": "ScheduledAction",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "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"
      },
      "SuspendedState": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html#cfn-applicationautoscaling-scalabletarget-suspendedstate",
        "Required": false,
        "Type": "SuspendedState",
        "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"
      },
      "TargetTrackingScalingPolicyConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html#cfn-applicationautoscaling-scalingpolicy-targettrackingscalingpolicyconfiguration",
        "Required": false,
        "Type": "TargetTrackingScalingPolicyConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Athena::NamedQuery": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html",
    "Properties": {
      "Database": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-database",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "QueryString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-athena-namedquery.html#cfn-athena-namedquery-querystring",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::AutoScaling::AutoScalingGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html",
    "Properties": {
      "AutoScalingGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-autoscalinggroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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"
      },
      "LaunchTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-launchtemplate",
        "Required": false,
        "Type": "LaunchTemplateSpecification",
        "UpdateType": "Mutable"
      },
      "LifecycleHookSpecificationList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-lifecyclehookspecificationlist",
        "DuplicatesAllowed": true,
        "ItemType": "LifecycleHookSpecification",
        "Required": false,
        "Type": "List",
        "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": "Mutable"
      },
      "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",
        "DuplicatesAllowed": true,
        "ItemType": "MetricsCollection",
        "Required": false,
        "Type": "List",
        "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"
      },
      "MixedInstancesPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-mixedinstancespolicy",
        "Required": false,
        "Type": "MixedInstancesPolicy",
        "UpdateType": "Mutable"
      },
      "NotificationConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-notificationconfigurations",
        "DuplicatesAllowed": true,
        "ItemType": "NotificationConfiguration",
        "Required": false,
        "Type": "List",
        "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"
      },
      "ServiceLinkedRoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-autoscaling-autoscalinggroup-servicelinkedrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "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"
      },
      "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::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": "BlockDeviceMapping",
        "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"
      },
      "LaunchConfigurationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig.html#cfn-autoscaling-launchconfig-launchconfigurationname",
        "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::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"
      },
      "LifecycleHookName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-autoscaling-lifecyclehook-lifecyclehookname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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": false,
        "UpdateType": "Mutable"
      },
      "RoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-as-lifecyclehook.html#cfn-as-lifecyclehook-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "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": false,
        "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"
      },
      "TargetTrackingConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-policy.html#cfn-autoscaling-scalingpolicy-targettrackingconfiguration",
        "Required": false,
        "Type": "TargetTrackingConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "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"
      }
    }
  },
  "AWS::AutoScalingPlans::ScalingPlan": {
    "Attributes": {
      "ScalingPlanName": {
        "PrimitiveType": "String"
      },
      "ScalingPlanVersion": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html",
    "Properties": {
      "ApplicationSource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html#cfn-autoscalingplans-scalingplan-applicationsource",
        "Required": true,
        "Type": "ApplicationSource",
        "UpdateType": "Mutable"
      },
      "ScalingInstructions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscalingplans-scalingplan.html#cfn-autoscalingplans-scalingplan-scalinginstructions",
        "ItemType": "ScalingInstruction",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Backup::BackupPlan": {
    "Attributes": {
      "BackupPlanArn": {
        "PrimitiveType": "String"
      },
      "BackupPlanId": {
        "PrimitiveType": "String"
      },
      "VersionId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html",
    "Properties": {
      "BackupPlan": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html#cfn-backup-backupplan-backupplan",
        "Required": true,
        "Type": "BackupPlanResourceType",
        "UpdateType": "Mutable"
      },
      "BackupPlanTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupplan.html#cfn-backup-backupplan-backupplantags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Backup::BackupSelection": {
    "Attributes": {
      "BackupPlanId": {
        "PrimitiveType": "String"
      },
      "SelectionId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.html",
    "Properties": {
      "BackupPlanId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.html#cfn-backup-backupselection-backupplanid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "BackupSelection": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupselection.html#cfn-backup-backupselection-backupselection",
        "Required": true,
        "Type": "BackupSelectionResourceType",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Backup::BackupVault": {
    "Attributes": {
      "BackupVaultArn": {
        "PrimitiveType": "String"
      },
      "BackupVaultName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html",
    "Properties": {
      "AccessPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html#cfn-backup-backupvault-accesspolicy",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "BackupVaultName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html#cfn-backup-backupvault-backupvaultname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "BackupVaultTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html#cfn-backup-backupvault-backupvaulttags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EncryptionKeyArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html#cfn-backup-backupvault-encryptionkeyarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Notifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-backup-backupvault.html#cfn-backup-backupvault-notifications",
        "Required": false,
        "Type": "NotificationObjectType",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::ComputeEnvironment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html",
    "Properties": {
      "ComputeEnvironmentName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-computeenvironmentname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ComputeResources": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-computeresources",
        "Required": false,
        "Type": "ComputeResources",
        "UpdateType": "Mutable"
      },
      "ServiceRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-servicerole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "State": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-state",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-computeenvironment.html#cfn-batch-computeenvironment-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Batch::JobDefinition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html",
    "Properties": {
      "ContainerProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-containerproperties",
        "Required": false,
        "Type": "ContainerProperties",
        "UpdateType": "Mutable"
      },
      "JobDefinitionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-jobdefinitionname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "NodeProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-nodeproperties",
        "Required": false,
        "Type": "NodeProperties",
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RetryStrategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-retrystrategy",
        "Required": false,
        "Type": "RetryStrategy",
        "UpdateType": "Mutable"
      },
      "Timeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-timeout",
        "Required": false,
        "Type": "Timeout",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Batch::JobQueue": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html",
    "Properties": {
      "ComputeEnvironmentOrder": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html#cfn-batch-jobqueue-computeenvironmentorder",
        "ItemType": "ComputeEnvironmentOrder",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "JobQueueName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html#cfn-batch-jobqueue-jobqueuename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Priority": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html#cfn-batch-jobqueue-priority",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "State": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html#cfn-batch-jobqueue-state",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Budgets::Budget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html",
    "Properties": {
      "Budget": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html#cfn-budgets-budget-budget",
        "Required": true,
        "Type": "BudgetData",
        "UpdateType": "Mutable"
      },
      "NotificationsWithSubscribers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html#cfn-budgets-budget-notificationswithsubscribers",
        "ItemType": "NotificationWithSubscribers",
        "Required": false,
        "Type": "List",
        "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"
      },
      "ValidationMethod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html#cfn-certificatemanager-certificate-validationmethod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Cloud9::EnvironmentEC2": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html",
    "Properties": {
      "AutomaticStopTimeMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-automaticstoptimeminutes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OwnerArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-ownerarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Repositories": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-repositories",
        "ItemType": "Repository",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloud9-environmentec2.html#cfn-cloud9-environmentec2-tags",
        "ItemType": "Tag",
        "Required": false,
        "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::CloudFormation::Macro": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FunctionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-functionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "LogGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-loggroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LogRoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-logrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::CloudFormation::WaitCondition": {
    "Attributes": {
      "Data": {
        "PrimitiveType": "Json"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html",
    "Properties": {
      "Count": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html#cfn-waitcondition-count",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Handle": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html#cfn-waitcondition-handle",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Timeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html#cfn-waitcondition-timeout",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFormation::WaitConditionHandle": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitconditionhandle.html",
    "Properties": {}
  },
  "AWS::CloudFront::CloudFrontOriginAccessIdentity": {
    "Attributes": {
      "S3CanonicalUserId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html",
    "Properties": {
      "CloudFrontOriginAccessIdentityConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html#cfn-cloudfront-cloudfrontoriginaccessidentity-cloudfrontoriginaccessidentityconfig",
        "Required": true,
        "Type": "CloudFrontOriginAccessIdentityConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::Distribution": {
    "Attributes": {
      "DomainName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html",
    "Properties": {
      "DistributionConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html#cfn-cloudfront-distribution-distributionconfig",
        "Required": true,
        "Type": "DistributionConfig",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html#cfn-cloudfront-distribution-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudFront::StreamingDistribution": {
    "Attributes": {
      "DomainName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html",
    "Properties": {
      "StreamingDistributionConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig",
        "Required": true,
        "Type": "StreamingDistributionConfig",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html#cfn-cloudfront-streamingdistribution-tags",
        "ItemType": "Tag",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CloudTrail::Trail": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "SnsTopicArn": {
        "PrimitiveType": "String"
      }
    },
    "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"
      },
      "EventSelectors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-eventselectors",
        "DuplicatesAllowed": false,
        "ItemType": "EventSelector",
        "Required": false,
        "Type": "List",
        "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TrailName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudtrail-trail.html#cfn-cloudtrail-trail-trailname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CloudWatch::Alarm": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "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"
      },
      "DatapointsToAlarm": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarm-datapointstoalarm",
        "PrimitiveType": "Integer",
        "Required": false,
        "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"
      },
      "EvaluateLowSampleCountPercentile": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-evaluatelowsamplecountpercentile",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EvaluationPeriods": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-evaluationperiods",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ExtendedStatistic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-extendedstatistic",
        "PrimitiveType": "String",
        "Required": false,
        "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": false,
        "UpdateType": "Mutable"
      },
      "Metrics": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarm-metrics",
        "DuplicatesAllowed": false,
        "ItemType": "MetricDataQuery",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-namespace",
        "PrimitiveType": "String",
        "Required": false,
        "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": false,
        "UpdateType": "Mutable"
      },
      "Statistic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-statistic",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Threshold": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-threshold",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThresholdMetricId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-dynamic-threshold",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TreatMissingData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html#cfn-cloudwatch-alarms-treatmissingdata",
        "PrimitiveType": "String",
        "Required": false,
        "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::CloudWatch::AnomalyDetector": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html",
    "Properties": {
      "Configuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-configuration",
        "Required": false,
        "Type": "Configuration",
        "UpdateType": "Mutable"
      },
      "Dimensions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-dimensions",
        "ItemType": "Dimension",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Namespace": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-namespace",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Stat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-anomalydetector.html#cfn-cloudwatch-anomalydetector-stat",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CloudWatch::Dashboard": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html",
    "Properties": {
      "DashboardBody": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html#cfn-cloudwatch-dashboard-dashboardbody",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DashboardName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html#cfn-cloudwatch-dashboard-dashboardname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CloudWatch::InsightRule": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "RuleName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html",
    "Properties": {
      "RuleBody": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html#cfn-cloudwatch-insightrule-rulebody",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RuleName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html#cfn-cloudwatch-insightrule-rulename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RuleState": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-insightrule.html#cfn-cloudwatch-insightrule-rulestate",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::Project": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html",
    "Properties": {
      "Artifacts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-artifacts",
        "Required": true,
        "Type": "Artifacts",
        "UpdateType": "Mutable"
      },
      "BadgeEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-badgeenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Cache": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-cache",
        "Required": false,
        "Type": "ProjectCache",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EncryptionKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-encryptionkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Environment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-environment",
        "Required": true,
        "Type": "Environment",
        "UpdateType": "Mutable"
      },
      "LogsConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-logsconfig",
        "Required": false,
        "Type": "LogsConfig",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "QueuedTimeoutInMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-queuedtimeoutinminutes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecondaryArtifacts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-secondaryartifacts",
        "ItemType": "Artifacts",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SecondarySourceVersions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-secondarysourceversions",
        "ItemType": "ProjectSourceVersion",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SecondarySources": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-secondarysources",
        "ItemType": "Source",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ServiceRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-servicerole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Source": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-source",
        "Required": true,
        "Type": "Source",
        "UpdateType": "Mutable"
      },
      "SourceVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-sourceversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TimeoutInMinutes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-timeoutinminutes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Triggers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-triggers",
        "Required": false,
        "Type": "ProjectTriggers",
        "UpdateType": "Mutable"
      },
      "VpcConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-vpcconfig",
        "Required": false,
        "Type": "VpcConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::ReportGroup": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html",
    "Properties": {
      "ExportConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-exportconfig",
        "Required": true,
        "Type": "ReportExportConfig",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-reportgroup.html#cfn-codebuild-reportgroup-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeBuild::SourceCredential": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html",
    "Properties": {
      "AuthType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html#cfn-codebuild-sourcecredential-authtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ServerType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html#cfn-codebuild-sourcecredential-servertype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Token": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html#cfn-codebuild-sourcecredential-token",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-sourcecredential.html#cfn-codebuild-sourcecredential-username",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeCommit::Repository": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "CloneUrlHttp": {
        "PrimitiveType": "String"
      },
      "CloneUrlSsh": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html",
    "Properties": {
      "Code": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-code",
        "Required": false,
        "Type": "Code",
        "UpdateType": "Mutable"
      },
      "RepositoryDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-repositorydescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RepositoryName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-repositoryname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Triggers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-triggers",
        "ItemType": "RepositoryTrigger",
        "Required": false,
        "Type": "List",
        "UpdateType": "Conditional"
      }
    }
  },
  "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": "Immutable"
      },
      "ComputePlatform": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html#cfn-codedeploy-application-computeplatform",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "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",
        "Required": false,
        "Type": "MinimumHealthyHosts",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CodeDeploy::DeploymentGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html",
    "Properties": {
      "AlarmConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-alarmconfiguration",
        "Required": false,
        "Type": "AlarmConfiguration",
        "UpdateType": "Mutable"
      },
      "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"
      },
      "AutoRollbackConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-autorollbackconfiguration",
        "Required": false,
        "Type": "AutoRollbackConfiguration",
        "UpdateType": "Mutable"
      },
      "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"
      },
      "DeploymentStyle": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-deploymentstyle",
        "Required": false,
        "Type": "DeploymentStyle",
        "UpdateType": "Mutable"
      },
      "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"
      },
      "Ec2TagSet": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-ec2tagset",
        "Required": false,
        "Type": "EC2TagSet",
        "UpdateType": "Mutable"
      },
      "LoadBalancerInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-loadbalancerinfo",
        "Required": false,
        "Type": "LoadBalancerInfo",
        "UpdateType": "Mutable"
      },
      "OnPremisesInstanceTagFilters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-onpremisesinstancetagfilters",
        "DuplicatesAllowed": false,
        "ItemType": "TagFilter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "OnPremisesTagSet": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-onpremisestagset",
        "Required": false,
        "Type": "OnPremisesTagSet",
        "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"
      },
      "TriggerConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-triggerconfigurations",
        "DuplicatesAllowed": false,
        "ItemType": "TriggerConfig",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-customactiontype.html#cfn-codepipeline-customactiontype-version",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::CodePipeline::Pipeline": {
    "Attributes": {
      "Version": {
        "PrimitiveType": "String"
      }
    },
    "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": false,
        "Type": "ArtifactStore",
        "UpdateType": "Mutable"
      },
      "ArtifactStores": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-artifactstores",
        "DuplicatesAllowed": false,
        "ItemType": "ArtifactStoreMap",
        "Required": false,
        "Type": "List",
        "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": "Immutable"
      },
      "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodePipeline::Webhook": {
    "Attributes": {
      "Url": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html",
    "Properties": {
      "Authentication": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html#cfn-codepipeline-webhook-authentication",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "AuthenticationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html#cfn-codepipeline-webhook-authenticationconfiguration",
        "Required": true,
        "Type": "WebhookAuthConfiguration",
        "UpdateType": "Mutable"
      },
      "Filters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html#cfn-codepipeline-webhook-filters",
        "ItemType": "WebhookFilterRule",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html#cfn-codepipeline-webhook-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RegisterWithThirdParty": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html#cfn-codepipeline-webhook-registerwiththirdparty",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html#cfn-codepipeline-webhook-targetaction",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetPipeline": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html#cfn-codepipeline-webhook-targetpipeline",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetPipelineVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-webhook.html#cfn-codepipeline-webhook-targetpipelineversion",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeStar::GitHubRepository": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html",
    "Properties": {
      "Code": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-code",
        "Required": false,
        "Type": "Code",
        "UpdateType": "Mutable"
      },
      "EnableIssues": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-enableissues",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IsPrivate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-isprivate",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RepositoryAccessToken": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-repositoryaccesstoken",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RepositoryDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-repositorydescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RepositoryName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-repositoryname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RepositoryOwner": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestar-githubrepository.html#cfn-codestar-githubrepository-repositoryowner",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::CodeStarNotifications::NotificationRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html",
    "Properties": {
      "DetailType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-detailtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EventTypeIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-eventtypeids",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Resource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-resource",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Status": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-status",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Targets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codestarnotifications-notificationrule.html#cfn-codestarnotifications-notificationrule-targets",
        "ItemType": "Target",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::IdentityPool": {
    "Attributes": {
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html",
    "Properties": {
      "AllowClassicFlow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-allowclassicflow",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AllowUnauthenticatedIdentities": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-allowunauthenticatedidentities",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "CognitoEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitoevents",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CognitoIdentityProviders": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitoidentityproviders",
        "ItemType": "CognitoIdentityProvider",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "CognitoStreams": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitostreams",
        "Required": false,
        "Type": "CognitoStreams",
        "UpdateType": "Mutable"
      },
      "DeveloperProviderName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-developerprovidername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IdentityPoolName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-identitypoolname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OpenIdConnectProviderARNs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-openidconnectproviderarns",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PushSync": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-pushsync",
        "Required": false,
        "Type": "PushSync",
        "UpdateType": "Mutable"
      },
      "SamlProviderARNs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-samlproviderarns",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SupportedLoginProviders": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-supportedloginproviders",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::IdentityPoolRoleAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html",
    "Properties": {
      "IdentityPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-identitypoolid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RoleMappings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-rolemappings",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Roles": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-roles",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPool": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "ProviderName": {
        "PrimitiveType": "String"
      },
      "ProviderURL": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html",
    "Properties": {
      "AdminCreateUserConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-admincreateuserconfig",
        "Required": false,
        "Type": "AdminCreateUserConfig",
        "UpdateType": "Mutable"
      },
      "AliasAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-aliasattributes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AutoVerifiedAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-autoverifiedattributes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DeviceConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-deviceconfiguration",
        "Required": false,
        "Type": "DeviceConfiguration",
        "UpdateType": "Mutable"
      },
      "EmailConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailconfiguration",
        "Required": false,
        "Type": "EmailConfiguration",
        "UpdateType": "Mutable"
      },
      "EmailVerificationMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationmessage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EmailVerificationSubject": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationsubject",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnabledMfas": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-enabledmfas",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "LambdaConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-lambdaconfig",
        "Required": false,
        "Type": "LambdaConfig",
        "UpdateType": "Mutable"
      },
      "MfaConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-mfaconfiguration",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Policies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-policies",
        "Required": false,
        "Type": "Policies",
        "UpdateType": "Mutable"
      },
      "Schema": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-schema",
        "ItemType": "SchemaAttribute",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SmsAuthenticationMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsauthenticationmessage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SmsConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsconfiguration",
        "Required": false,
        "Type": "SmsConfiguration",
        "UpdateType": "Mutable"
      },
      "SmsVerificationMessage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsverificationmessage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserPoolAddOns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpooladdons",
        "Required": false,
        "Type": "UserPoolAddOns",
        "UpdateType": "Mutable"
      },
      "UserPoolName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpoolname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserPoolTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpooltags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UsernameAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-usernameattributes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VerificationMessageTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-verificationmessagetemplate",
        "Required": false,
        "Type": "VerificationMessageTemplate",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolClient": {
    "Attributes": {
      "ClientSecret": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html",
    "Properties": {
      "AllowedOAuthFlows": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthflows",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AllowedOAuthFlowsUserPoolClient": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthflowsuserpoolclient",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AllowedOAuthScopes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthscopes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AnalyticsConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-analyticsconfiguration",
        "Required": false,
        "Type": "AnalyticsConfiguration",
        "UpdateType": "Mutable"
      },
      "CallbackURLs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-callbackurls",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ClientName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-clientname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultRedirectURI": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-defaultredirecturi",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExplicitAuthFlows": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-explicitauthflows",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "GenerateSecret": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-generatesecret",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LogoutURLs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-logouturls",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PreventUserExistenceErrors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-preventuserexistenceerrors",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReadAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-readattributes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RefreshTokenValidity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-refreshtokenvalidity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SupportedIdentityProviders": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-supportedidentityproviders",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "UserPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-userpoolid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "WriteAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-writeattributes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Cognito::UserPoolDomain": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html",
    "Properties": {
      "CustomDomainConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-customdomainconfig",
        "Required": false,
        "Type": "CustomDomainConfigType",
        "UpdateType": "Mutable"
      },
      "Domain": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-domain",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "UserPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-userpoolid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Cognito::UserPoolGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-groupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Precedence": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-precedence",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UserPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-userpoolid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Cognito::UserPoolIdentityProvider": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html",
    "Properties": {
      "AttributeMapping": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-attributemapping",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IdpIdentifiers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-idpidentifiers",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ProviderDetails": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providerdetails",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ProviderName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ProviderType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providertype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "UserPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-userpoolid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Cognito::UserPoolResourceServer": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html",
    "Properties": {
      "Identifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-identifier",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Scopes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-scopes",
        "ItemType": "ResourceServerScopeType",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "UserPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-userpoolid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Cognito::UserPoolRiskConfigurationAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html",
    "Properties": {
      "AccountTakeoverRiskConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfiguration",
        "Required": false,
        "Type": "AccountTakeoverRiskConfigurationType",
        "UpdateType": "Mutable"
      },
      "ClientId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-clientid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "CompromisedCredentialsRiskConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfiguration",
        "Required": false,
        "Type": "CompromisedCredentialsRiskConfigurationType",
        "UpdateType": "Mutable"
      },
      "RiskExceptionConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfiguration",
        "Required": false,
        "Type": "RiskExceptionConfigurationType",
        "UpdateType": "Mutable"
      },
      "UserPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-userpoolid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Cognito::UserPoolUICustomizationAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html",
    "Properties": {
      "CSS": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-css",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ClientId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-clientid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "UserPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-userpoolid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Cognito::UserPoolUser": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html",
    "Properties": {
      "ClientMetadata": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-clientmetadata",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DesiredDeliveryMediums": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-desireddeliverymediums",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "ForceAliasCreation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-forcealiascreation",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MessageAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-messageaction",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "UserAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-userattributes",
        "ItemType": "AttributeType",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "UserPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-userpoolid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-username",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ValidationData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-validationdata",
        "ItemType": "AttributeType",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Cognito::UserPoolUserToGroupAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html",
    "Properties": {
      "GroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-groupname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "UserPoolId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-userpoolid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-username",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Config::AggregationAuthorization": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html",
    "Properties": {
      "AuthorizedAccountId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html#cfn-config-aggregationauthorization-authorizedaccountid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "AuthorizedAwsRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-aggregationauthorization.html#cfn-config-aggregationauthorization-authorizedawsregion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::Config::ConfigurationAggregator": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html",
    "Properties": {
      "AccountAggregationSources": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html#cfn-config-configurationaggregator-accountaggregationsources",
        "ItemType": "AccountAggregationSource",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ConfigurationAggregatorName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html#cfn-config-configurationaggregator-configurationaggregatorname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "OrganizationAggregationSource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configurationaggregator.html#cfn-config-configurationaggregator-organizationaggregationsource",
        "Required": false,
        "Type": "OrganizationAggregationSource",
        "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::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::Config::OrganizationConfigRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html",
    "Properties": {
      "ExcludedAccounts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html#cfn-config-organizationconfigrule-excludedaccounts",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "OrganizationConfigRuleName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html#cfn-config-organizationconfigrule-organizationconfigrulename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "OrganizationCustomRuleMetadata": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html#cfn-config-organizationconfigrule-organizationcustomrulemetadata",
        "Required": false,
        "Type": "OrganizationCustomRuleMetadata",
        "UpdateType": "Mutable"
      },
      "OrganizationManagedRuleMetadata": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-organizationconfigrule.html#cfn-config-organizationconfigrule-organizationmanagedrulemetadata",
        "Required": false,
        "Type": "OrganizationManagedRuleMetadata",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Config::RemediationConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html",
    "Properties": {
      "Automatic": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-automatic",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ConfigRuleName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-configrulename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ExecutionControls": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-executioncontrols",
        "Required": false,
        "Type": "ExecutionControls",
        "UpdateType": "Mutable"
      },
      "MaximumAutomaticAttempts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-maximumautomaticattempts",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-parameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-resourcetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RetryAttemptSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-retryattemptseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-targetid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-targettype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-remediationconfiguration.html#cfn-config-remediationconfiguration-targetversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DAX::Cluster": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "ClusterDiscoveryEndpoint": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html",
    "Properties": {
      "AvailabilityZones": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-availabilityzones",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ClusterName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-clustername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IAMRoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-iamrolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "NodeType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-nodetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "NotificationTopicARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-notificationtopicarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ParameterGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-parametergroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreferredMaintenanceWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-preferredmaintenancewindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReplicationFactor": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-replicationfactor",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SSESpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-ssespecification",
        "Required": false,
        "Type": "SSESpecification",
        "UpdateType": "Immutable"
      },
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-subnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-cluster.html#cfn-dax-cluster-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DAX::ParameterGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html#cfn-dax-parametergroup-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ParameterGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html#cfn-dax-parametergroup-parametergroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ParameterNameValues": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-parametergroup.html#cfn-dax-parametergroup-parameternamevalues",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DAX::SubnetGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html#cfn-dax-subnetgroup-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html#cfn-dax-subnetgroup-subnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dax-subnetgroup.html#cfn-dax-subnetgroup-subnetids",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DLM::LifecyclePolicy": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExecutionRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-executionrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PolicyDetails": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-policydetails",
        "Required": false,
        "Type": "PolicyDetails",
        "UpdateType": "Mutable"
      },
      "State": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-state",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DMS::Certificate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html",
    "Properties": {
      "CertificateIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html#cfn-dms-certificate-certificateidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "CertificatePem": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html#cfn-dms-certificate-certificatepem",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "CertificateWallet": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-certificate.html#cfn-dms-certificate-certificatewallet",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::DMS::Endpoint": {
    "Attributes": {
      "ExternalId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html",
    "Properties": {
      "CertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-certificatearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-databasename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DynamoDbSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-dynamodbsettings",
        "Required": false,
        "Type": "DynamoDbSettings",
        "UpdateType": "Mutable"
      },
      "ElasticsearchSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-elasticsearchsettings",
        "Required": false,
        "Type": "ElasticsearchSettings",
        "UpdateType": "Mutable"
      },
      "EndpointIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-endpointidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EndpointType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-endpointtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EngineName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-enginename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ExtraConnectionAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-extraconnectionattributes",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KinesisSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kinesissettings",
        "Required": false,
        "Type": "KinesisSettings",
        "UpdateType": "Mutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MongoDbSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-mongodbsettings",
        "Required": false,
        "Type": "MongoDbSettings",
        "UpdateType": "Mutable"
      },
      "Password": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-password",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "S3Settings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-s3settings",
        "Required": false,
        "Type": "S3Settings",
        "UpdateType": "Mutable"
      },
      "ServerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-servername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SslMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-sslmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Username": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-username",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DMS::EventSubscription": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html",
    "Properties": {
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EventCategories": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-eventcategories",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SnsTopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-snstopicarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SourceIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-sourceids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "SourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-sourcetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SubscriptionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-subscriptionname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-eventsubscription.html#cfn-dms-eventsubscription-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::DMS::ReplicationInstance": {
    "Attributes": {
      "ReplicationInstancePrivateIpAddresses": {
        "PrimitiveItemType": "String",
        "Type": "List"
      },
      "ReplicationInstancePublicIpAddresses": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html",
    "Properties": {
      "AllocatedStorage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-allocatedstorage",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AllowMajorVersionUpgrade": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-allowmajorversionupgrade",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AutoMinorVersionUpgrade": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-autominorversionupgrade",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EngineVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-engineversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MultiAZ": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-multiaz",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreferredMaintenanceWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-preferredmaintenancewindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PubliclyAccessible": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-publiclyaccessible",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ReplicationInstanceClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-replicationinstanceclass",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ReplicationInstanceIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-replicationinstanceidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReplicationSubnetGroupIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-replicationsubnetgroupidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "VpcSecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationinstance.html#cfn-dms-replicationinstance-vpcsecuritygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DMS::ReplicationSubnetGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html",
    "Properties": {
      "ReplicationSubnetGroupDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html#cfn-dms-replicationsubnetgroup-replicationsubnetgroupdescription",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ReplicationSubnetGroupIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html#cfn-dms-replicationsubnetgroup-replicationsubnetgroupidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html#cfn-dms-replicationsubnetgroup-subnetids",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationsubnetgroup.html#cfn-dms-replicationsubnetgroup-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::DMS::ReplicationTask": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html",
    "Properties": {
      "CdcStartPosition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-cdcstartposition",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CdcStartTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-cdcstarttime",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CdcStopPosition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-cdcstopposition",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MigrationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-migrationtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ReplicationInstanceArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-replicationinstancearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ReplicationTaskIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-replicationtaskidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ReplicationTaskSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-replicationtasksettings",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SourceEndpointArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-sourceendpointarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "TableMappings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-tablemappings",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "TargetEndpointArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-replicationtask.html#cfn-dms-replicationtask-targetendpointarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::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"
      },
      "Edition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-directoryservice-microsoftad.html#cfn-directoryservice-microsoftad-edition",
        "PrimitiveType": "String",
        "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::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::DocDB::DBCluster": {
    "Attributes": {
      "ClusterResourceId": {
        "PrimitiveType": "String"
      },
      "Endpoint": {
        "PrimitiveType": "String"
      },
      "Port": {
        "PrimitiveType": "String"
      },
      "ReadEndpoint": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html",
    "Properties": {
      "AvailabilityZones": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-availabilityzones",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "BackupRetentionPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-backupretentionperiod",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DBClusterIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusteridentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DBClusterParameterGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusterparametergroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DBSubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbsubnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EnableCloudwatchLogsExports": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-enablecloudwatchlogsexports",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EngineVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-engineversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MasterUserPassword": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masteruserpassword",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MasterUsername": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masterusername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreferredBackupWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredbackupwindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreferredMaintenanceWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredmaintenancewindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-snapshotidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StorageEncrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-storageencrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcSecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-vpcsecuritygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DocDB::DBClusterParameterGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Family": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-family",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-parameters",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbclusterparametergroup.html#cfn-docdb-dbclusterparametergroup-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DocDB::DBInstance": {
    "Attributes": {
      "Endpoint": {
        "PrimitiveType": "String"
      },
      "Port": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html",
    "Properties": {
      "AutoMinorVersionUpgrade": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-autominorversionupgrade",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DBClusterIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-dbclusteridentifier",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DBInstanceClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-dbinstanceclass",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DBInstanceIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-dbinstanceidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PreferredMaintenanceWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-preferredmaintenancewindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbinstance.html#cfn-docdb-dbinstance-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DocDB::DBSubnetGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html",
    "Properties": {
      "DBSubnetGroupDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html#cfn-docdb-dbsubnetgroup-dbsubnetgroupdescription",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DBSubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html#cfn-docdb-dbsubnetgroup-dbsubnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html#cfn-docdb-dbsubnetgroup-subnetids",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbsubnetgroup.html#cfn-docdb-dbsubnetgroup-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::DynamoDB::Table": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "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": false,
        "Type": "List",
        "UpdateType": "Conditional"
      },
      "BillingMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-billingmode",
        "PrimitiveType": "String",
        "Required": false,
        "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": false,
        "ItemType": "KeySchema",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "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": "Immutable"
      },
      "PointInTimeRecoverySpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-pointintimerecoveryspecification",
        "Required": false,
        "Type": "PointInTimeRecoverySpecification",
        "UpdateType": "Mutable"
      },
      "ProvisionedThroughput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-provisionedthroughput",
        "Required": false,
        "Type": "ProvisionedThroughput",
        "UpdateType": "Mutable"
      },
      "SSESpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-ssespecification",
        "Required": false,
        "Type": "SSESpecification",
        "UpdateType": "Conditional"
      },
      "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TimeToLiveSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-timetolivespecification",
        "Required": false,
        "Type": "TimeToLiveSpecification",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::CapacityReservation": {
    "Attributes": {
      "AvailabilityZone": {
        "PrimitiveType": "String"
      },
      "AvailableInstanceCount": {
        "PrimitiveType": "Integer"
      },
      "InstanceType": {
        "PrimitiveType": "String"
      },
      "Tenancy": {
        "PrimitiveType": "String"
      },
      "TotalInstanceCount": {
        "PrimitiveType": "Integer"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html",
    "Properties": {
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-availabilityzone",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "EbsOptimized": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-ebsoptimized",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EndDate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-enddate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EndDateType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-enddatetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EphemeralStorage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-ephemeralstorage",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "InstanceCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancecount",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InstanceMatchCriteria": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancematchcriteria",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "InstancePlatform": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instanceplatform",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "TagSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-tagspecifications",
        "ItemType": "TagSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tenancy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-tenancy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::ClientVpnAuthorizationRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html",
    "Properties": {
      "AccessGroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-accessgroupid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "AuthorizeAllGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-authorizeallgroups",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ClientVpnEndpointId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-clientvpnendpointid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TargetNetworkCidr": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-targetnetworkcidr",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::ClientVpnEndpoint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html",
    "Properties": {
      "AuthenticationOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-authenticationoptions",
        "ItemType": "ClientAuthenticationRequest",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "ClientCidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-clientcidrblock",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ConnectionLogOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-connectionlogoptions",
        "Required": true,
        "Type": "ConnectionLogOptions",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DnsServers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-dnsservers",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ServerCertificateArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-servercertificatearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SplitTunnel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-splittunnel",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TagSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-tagspecifications",
        "ItemType": "TagSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "TransportProtocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-transportprotocol",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::ClientVpnRoute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html",
    "Properties": {
      "ClientVpnEndpointId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html#cfn-ec2-clientvpnroute-clientvpnendpointid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html#cfn-ec2-clientvpnroute-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DestinationCidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html#cfn-ec2-clientvpnroute-destinationcidrblock",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "TargetVpcSubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html#cfn-ec2-clientvpnroute-targetvpcsubnetid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::ClientVpnTargetNetworkAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html",
    "Properties": {
      "ClientVpnEndpointId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html#cfn-ec2-clientvpntargetnetworkassociation-clientvpnendpointid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html#cfn-ec2-clientvpntargetnetworkassociation-subnetid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::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",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::EC2Fleet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html",
    "Properties": {
      "ExcessCapacityTerminationPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-excesscapacityterminationpolicy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LaunchTemplateConfigs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-launchtemplateconfigs",
        "ItemType": "FleetLaunchTemplateConfigRequest",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "OnDemandOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-ondemandoptions",
        "Required": false,
        "Type": "OnDemandOptionsRequest",
        "UpdateType": "Immutable"
      },
      "ReplaceUnhealthyInstances": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-replaceunhealthyinstances",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SpotOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-spotoptions",
        "Required": false,
        "Type": "SpotOptionsRequest",
        "UpdateType": "Immutable"
      },
      "TagSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-tagspecifications",
        "ItemType": "TagSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "TargetCapacitySpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-targetcapacityspecification",
        "Required": true,
        "Type": "TargetCapacitySpecificationRequest",
        "UpdateType": "Mutable"
      },
      "TerminateInstancesWithExpiration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-terminateinstanceswithexpiration",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ValidFrom": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-validfrom",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ValidUntil": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-validuntil",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::EIP": {
    "Attributes": {
      "AllocationId": {
        "PrimitiveType": "String"
      }
    },
    "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": "Conditional"
      },
      "PublicIpv4Pool": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-publicipv4pool",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html#cfn-ec2-eip-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "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::EC2::EgressOnlyInternetGateway": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html",
    "Properties": {
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html#cfn-ec2-egressonlyinternetgateway-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": false,
        "UpdateType": "Immutable"
      },
      "LogDestination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-logdestination",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LogDestinationType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-logdestinationtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LogGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-loggroupname",
        "PrimitiveType": "String",
        "Required": false,
        "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::EC2::GatewayRouteTableAssociation": {
    "Attributes": {
      "AssociationId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html",
    "Properties": {
      "GatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html#cfn-ec2-gatewayroutetableassociation-gatewayid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RouteTableId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html#cfn-ec2-gatewayroutetableassociation-routetableid",
        "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"
      },
      "HostRecovery": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-hostrecovery",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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::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"
      },
      "CpuOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-cpuoptions",
        "Required": false,
        "Type": "CpuOptions",
        "UpdateType": "Immutable"
      },
      "CreditSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-creditspecification",
        "Required": false,
        "Type": "CreditSpecification",
        "UpdateType": "Mutable"
      },
      "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"
      },
      "ElasticGpuSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-elasticgpuspecifications",
        "DuplicatesAllowed": false,
        "ItemType": "ElasticGpuSpecification",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "ElasticInferenceAccelerators": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-elasticinferenceaccelerators",
        "DuplicatesAllowed": false,
        "ItemType": "ElasticInferenceAccelerator",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "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": "Mutable"
      },
      "ImageId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-imageid",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "Ipv6AddressCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ipv6addresscount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Ipv6Addresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-ipv6addresses",
        "DuplicatesAllowed": true,
        "ItemType": "InstanceIpv6Address",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "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"
      },
      "LaunchTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-launchtemplate",
        "Required": false,
        "Type": "LaunchTemplateSpecification",
        "UpdateType": "Immutable"
      },
      "LicenseSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-licensespecifications",
        "DuplicatesAllowed": false,
        "ItemType": "LicenseSpecification",
        "Required": false,
        "Type": "List",
        "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "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::EC2::InternetGateway": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html",
    "Properties": {
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html#cfn-ec2-internetgateway-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::LaunchTemplate": {
    "Attributes": {
      "DefaultVersionNumber": {
        "PrimitiveType": "String"
      },
      "LatestVersionNumber": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html",
    "Properties": {
      "LaunchTemplateData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-launchtemplatedata",
        "Required": false,
        "Type": "LaunchTemplateData",
        "UpdateType": "Mutable"
      },
      "LaunchTemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-launchtemplatename",
        "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "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::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": false,
        "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"
      },
      "Ipv6CidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-acl-entry.html#cfn-ec2-networkaclentry-ipv6cidrblock",
        "PrimitiveType": "String",
        "Required": false,
        "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::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": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "InterfaceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-ec2-networkinterface-interfacetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Ipv6AddressCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-ec2-networkinterface-ipv6addresscount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Ipv6Addresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-network-interface.html#cfn-ec2-networkinterface-ipv6addresses",
        "Required": false,
        "Type": "InstanceIpv6Address",
        "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": false,
        "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::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::EC2::NetworkInterfacePermission": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html",
    "Properties": {
      "AwsAccountId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html#cfn-ec2-networkinterfacepermission-awsaccountid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "NetworkInterfaceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html#cfn-ec2-networkinterfacepermission-networkinterfaceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Permission": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html#cfn-ec2-networkinterfacepermission-permission",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::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": false,
        "UpdateType": "Immutable"
      },
      "DestinationIpv6CidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationipv6cidrblock",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EgressOnlyInternetGatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-egressonlyinternetgatewayid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "TransitGatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-transitgatewayid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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::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::EC2::SecurityGroup": {
    "Attributes": {
      "GroupId": {
        "PrimitiveType": "String"
      },
      "VpcId": {
        "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"
      },
      "GroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.html#cfn-ec2-securitygroup-groupname",
        "PrimitiveType": "String",
        "Required": false,
        "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": "Egress",
        "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": "Ingress",
        "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::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"
      },
      "CidrIpv6": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-cidripv6",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-security-group-egress.html#cfn-ec2-securitygroupegress-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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::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"
      },
      "CidrIpv6": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-cidripv6",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-security-group-ingress-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "SourcePrefixListId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html#cfn-ec2-securitygroupingress-sourceprefixlistid",
        "PrimitiveType": "String",
        "Required": false,
        "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::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": "Conditional"
      }
    }
  },
  "AWS::EC2::Subnet": {
    "Attributes": {
      "AvailabilityZone": {
        "PrimitiveType": "String"
      },
      "Ipv6CidrBlocks": {
        "PrimitiveItemType": "String",
        "Type": "List"
      },
      "NetworkAclAssociationId": {
        "PrimitiveType": "String"
      },
      "VpcId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html",
    "Properties": {
      "AssignIpv6AddressOnCreation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-assignipv6addressoncreation",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "Ipv6CidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-ipv6cidrblock",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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::EC2::SubnetCidrBlock": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html",
    "Properties": {
      "Ipv6CidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html#cfn-ec2-subnetcidrblock-ipv6cidrblock",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html#cfn-ec2-subnetcidrblock-subnetid",
        "PrimitiveType": "String",
        "Required": true,
        "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::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": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::TrafficMirrorFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "NetworkServices": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-networkservices",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::TrafficMirrorFilterRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DestinationCidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-destinationcidrblock",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DestinationPortRange": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-destinationportrange",
        "Required": false,
        "Type": "TrafficMirrorPortRange",
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-protocol",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RuleAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-ruleaction",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RuleNumber": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-rulenumber",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SourceCidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-sourcecidrblock",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SourcePortRange": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-sourceportrange",
        "Required": false,
        "Type": "TrafficMirrorPortRange",
        "UpdateType": "Mutable"
      },
      "TrafficDirection": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-trafficdirection",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TrafficMirrorFilterId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorfilterid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::TrafficMirrorSession": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NetworkInterfaceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-networkinterfaceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "PacketLength": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-packetlength",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SessionNumber": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-sessionnumber",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TrafficMirrorFilterId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-trafficmirrorfilterid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TrafficMirrorTargetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-trafficmirrortargetid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "VirtualNetworkId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-virtualnetworkid",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::TrafficMirrorTarget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "NetworkInterfaceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-networkinterfaceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "NetworkLoadBalancerArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-networkloadbalancerarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::TransitGateway": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html",
    "Properties": {
      "AmazonSideAsn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-amazonsideasn",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "AutoAcceptSharedAttachments": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-autoacceptsharedattachments",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DefaultRouteTableAssociation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-defaultroutetableassociation",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DefaultRouteTablePropagation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-defaultroutetablepropagation",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DnsSupport": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-dnssupport",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "VpnEcmpSupport": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-vpnecmpsupport",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::TransitGatewayAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html",
    "Properties": {
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html#cfn-ec2-transitgatewayattachment-subnetids",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html#cfn-ec2-transitgatewayattachment-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "TransitGatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html#cfn-ec2-transitgatewayattachment-transitgatewayid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html#cfn-ec2-transitgatewayattachment-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::TransitGatewayRoute": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html",
    "Properties": {
      "Blackhole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html#cfn-ec2-transitgatewayroute-blackhole",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DestinationCidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html#cfn-ec2-transitgatewayroute-destinationcidrblock",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TransitGatewayAttachmentId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html#cfn-ec2-transitgatewayroute-transitgatewayattachmentid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TransitGatewayRouteTableId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html#cfn-ec2-transitgatewayroute-transitgatewayroutetableid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::TransitGatewayRouteTable": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html",
    "Properties": {
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html#cfn-ec2-transitgatewayroutetable-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "TransitGatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html#cfn-ec2-transitgatewayroutetable-transitgatewayid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::TransitGatewayRouteTableAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html",
    "Properties": {
      "TransitGatewayAttachmentId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html#cfn-ec2-transitgatewayroutetableassociation-transitgatewayattachmentid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "TransitGatewayRouteTableId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html#cfn-ec2-transitgatewayroutetableassociation-transitgatewayroutetableid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::TransitGatewayRouteTablePropagation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html",
    "Properties": {
      "TransitGatewayAttachmentId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html#cfn-ec2-transitgatewayroutetablepropagation-transitgatewayattachmentid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "TransitGatewayRouteTableId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html#cfn-ec2-transitgatewayroutetablepropagation-transitgatewayroutetableid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::VPC": {
    "Attributes": {
      "CidrBlock": {
        "PrimitiveType": "String"
      },
      "CidrBlockAssociations": {
        "PrimitiveItemType": "String",
        "Type": "List"
      },
      "DefaultNetworkAcl": {
        "PrimitiveType": "String"
      },
      "DefaultSecurityGroup": {
        "PrimitiveType": "String"
      },
      "Ipv6CidrBlocks": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "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": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::VPCCidrBlock": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html",
    "Properties": {
      "AmazonProvidedIpv6CidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-amazonprovidedipv6cidrblock",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "CidrBlock": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-cidrblock",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "VpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::EC2::VPCEndpoint": {
    "Attributes": {
      "CreationTimestamp": {
        "PrimitiveType": "String"
      },
      "DnsEntries": {
        "PrimitiveItemType": "String",
        "Type": "List"
      },
      "NetworkInterfaceIds": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "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"
      },
      "PrivateDnsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-privatednsenabled",
        "PrimitiveType": "Boolean",
        "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"
      },
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-securitygroupids",
        "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"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-subnetids",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcEndpointType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-vpcendpointtype",
        "PrimitiveType": "String",
        "Required": false,
        "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::VPCEndpointConnectionNotification": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html",
    "Properties": {
      "ConnectionEvents": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html#cfn-ec2-vpcendpointconnectionnotification-connectionevents",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ConnectionNotificationArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html#cfn-ec2-vpcendpointconnectionnotification-connectionnotificationarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ServiceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html#cfn-ec2-vpcendpointconnectionnotification-serviceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "VPCEndpointId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html#cfn-ec2-vpcendpointconnectionnotification-vpcendpointid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EC2::VPCEndpointService": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html",
    "Properties": {
      "AcceptanceRequired": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-acceptancerequired",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NetworkLoadBalancerArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-networkloadbalancerarns",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EC2::VPCEndpointServicePermissions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html",
    "Properties": {
      "AllowedPrincipals": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html#cfn-ec2-vpcendpointservicepermissions-allowedprincipals",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ServiceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html#cfn-ec2-vpcendpointservicepermissions-serviceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::VPCPeeringConnection": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html",
    "Properties": {
      "PeerOwnerId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-peerownerid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PeerRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-peerregion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PeerRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-peerrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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::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"
      },
      "TransitGatewayId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html#cfn-ec2-vpnconnection-transitgatewayid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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": false,
        "UpdateType": "Immutable"
      },
      "VpnTunnelOptionsSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-connection.html#cfn-ec2-vpnconnection-vpntunneloptionsspecifications",
        "DuplicatesAllowed": false,
        "ItemType": "VpnTunnelOptionsSpecification",
        "Required": false,
        "Type": "List",
        "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::EC2::VPNGateway": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gateway.html",
    "Properties": {
      "AmazonSideAsn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpn-gateway.html#cfn-ec2-vpngateway-amazonsideasn",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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::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::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::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::ECR::Repository": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html",
    "Properties": {
      "LifecyclePolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-lifecyclepolicy",
        "Required": false,
        "Type": "LifecyclePolicy",
        "UpdateType": "Mutable"
      },
      "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repository.html#cfn-ecr-repository-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::Cluster": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "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"
      },
      "ClusterSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-clustersettings",
        "DuplicatesAllowed": false,
        "ItemType": "ClusterSetting",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-cluster.html#cfn-ecs-cluster-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ECS::PrimaryTaskSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html",
    "Properties": {
      "Cluster": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html#cfn-ecs-primarytaskset-cluster",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Service": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html#cfn-ecs-primarytaskset-service",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "TaskSetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-primarytaskset.html#cfn-ecs-primarytaskset-tasksetid",
        "PrimitiveType": "String",
        "Required": true,
        "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"
      },
      "DeploymentController": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-deploymentcontroller",
        "Required": false,
        "Type": "DeploymentController",
        "UpdateType": "Immutable"
      },
      "DesiredCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-desiredcount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnableECSManagedTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-enableecsmanagedtags",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "HealthCheckGracePeriodSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-healthcheckgraceperiodseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LaunchType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-launchtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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"
      },
      "NetworkConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-networkconfiguration",
        "Required": false,
        "Type": "NetworkConfiguration",
        "UpdateType": "Mutable"
      },
      "PlacementConstraints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-placementconstraints",
        "DuplicatesAllowed": false,
        "ItemType": "PlacementConstraint",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "PlacementStrategies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-placementstrategies",
        "DuplicatesAllowed": false,
        "ItemType": "PlacementStrategy",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "PlatformVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-platformversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PropagateTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-propagatetags",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "SchedulingStrategy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-schedulingstrategy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ServiceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-servicename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ServiceRegistries": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-serviceregistries",
        "DuplicatesAllowed": false,
        "ItemType": "ServiceRegistry",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TaskDefinition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-taskdefinition",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "Cpu": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-cpu",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ExecutionRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-executionrolearn",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "InferenceAccelerators": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-inferenceaccelerators",
        "DuplicatesAllowed": false,
        "ItemType": "InferenceAccelerator",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "IpcMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-ipcmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Memory": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-memory",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "NetworkMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-networkmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PidMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-pidmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PlacementConstraints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-placementconstraints",
        "DuplicatesAllowed": false,
        "ItemType": "TaskDefinitionPlacementConstraint",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "ProxyConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-proxyconfiguration",
        "Required": false,
        "Type": "ProxyConfiguration",
        "UpdateType": "Immutable"
      },
      "RequiresCompatibilities": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-requirescompatibilities",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "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": "Immutable"
      }
    }
  },
  "AWS::ECS::TaskSet": {
    "Attributes": {
      "Id": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html",
    "Properties": {
      "Cluster": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-cluster",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ExternalId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-externalid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LaunchType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-launchtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LoadBalancers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-loadbalancers",
        "ItemType": "LoadBalancer",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "NetworkConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-networkconfiguration",
        "Required": false,
        "Type": "NetworkConfiguration",
        "UpdateType": "Immutable"
      },
      "PlatformVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-platformversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Scale": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-scale",
        "Required": false,
        "Type": "Scale",
        "UpdateType": "Mutable"
      },
      "Service": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-service",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ServiceRegistries": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-serviceregistries",
        "ItemType": "ServiceRegistry",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "TaskDefinition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskset.html#cfn-ecs-taskset-taskdefinition",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EFS::FileSystem": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html",
    "Properties": {
      "Encrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-encrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LifecyclePolicies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-elasticfilesystem-filesystem-lifecyclepolicies",
        "DuplicatesAllowed": false,
        "ItemType": "LifecyclePolicy",
        "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"
      },
      "ProvisionedThroughputInMibps": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-elasticfilesystem-filesystem-provisionedthroughputinmibps",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ThroughputMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-elasticfilesystem-filesystem-throughputmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EFS::MountTarget": {
    "Attributes": {
      "IpAddress": {
        "PrimitiveType": "String"
      }
    },
    "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::EKS::Cluster": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "CertificateAuthorityData": {
        "PrimitiveType": "String"
      },
      "ClusterSecurityGroupId": {
        "PrimitiveType": "String"
      },
      "Endpoint": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ResourcesVpcConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-resourcesvpcconfig",
        "Required": true,
        "Type": "ResourcesVpcConfig",
        "UpdateType": "Immutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EKS::Nodegroup": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "ClusterName": {
        "PrimitiveType": "String"
      },
      "NodegroupName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html",
    "Properties": {
      "AmiType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-amitype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ClusterName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-clustername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DiskSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-disksize",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ForceUpdateEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-forceupdateenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-instancetypes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Labels": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-labels",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NodeRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-noderole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "NodegroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-nodegroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ReleaseVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-releaseversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RemoteAccess": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-remoteaccess",
        "Required": false,
        "Type": "RemoteAccess",
        "UpdateType": "Immutable"
      },
      "ScalingConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-scalingconfig",
        "Required": false,
        "Type": "ScalingConfig",
        "UpdateType": "Mutable"
      },
      "Subnets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-subnets",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::Cluster": {
    "Attributes": {
      "MasterPublicDNS": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html",
    "Properties": {
      "AdditionalInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-additionalinfo",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Applications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-applications",
        "DuplicatesAllowed": false,
        "ItemType": "Application",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "AutoScalingRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-autoscalingrole",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BootstrapActions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-bootstrapactions",
        "DuplicatesAllowed": false,
        "ItemType": "BootstrapActionConfig",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Configurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-configurations",
        "DuplicatesAllowed": false,
        "ItemType": "Configuration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "CustomAmiId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-customamiid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EbsRootVolumeSize": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-ebsrootvolumesize",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Instances": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-instances",
        "Required": true,
        "Type": "JobFlowInstancesConfig",
        "UpdateType": "Conditional"
      },
      "JobFlowRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-jobflowrole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "KerberosAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-kerberosattributes",
        "Required": false,
        "Type": "KerberosAttributes",
        "UpdateType": "Immutable"
      },
      "LogUri": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-loguri",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ReleaseLabel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-releaselabel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ScaleDownBehavior": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-scaledownbehavior",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SecurityConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-securityconfiguration",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ServiceRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-servicerole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Steps": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-steps",
        "DuplicatesAllowed": false,
        "ItemType": "StepConfig",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-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-elasticmapreduce-cluster.html#cfn-elasticmapreduce-cluster-visibletoallusers",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceFleetConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html",
    "Properties": {
      "ClusterId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-clusterid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InstanceFleetType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancefleettype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InstanceTypeConfigs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfigs",
        "DuplicatesAllowed": false,
        "ItemType": "InstanceTypeConfig",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "LaunchSpecifications": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-launchspecifications",
        "Required": false,
        "Type": "InstanceFleetProvisioningSpecifications",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "TargetOnDemandCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-targetondemandcapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TargetSpotCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-targetspotcapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EMR::InstanceGroupConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html",
    "Properties": {
      "AutoScalingPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-instancegroupconfig.html#cfn-elasticmapreduce-instancegroupconfig-autoscalingpolicy",
        "Required": false,
        "Type": "AutoScalingPolicy",
        "UpdateType": "Mutable"
      },
      "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::EMR::SecurityConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html#cfn-emr-securityconfiguration-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SecurityConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html#cfn-emr-securityconfiguration-securityconfiguration",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::EMR::Step": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html",
    "Properties": {
      "ActionOnFailure": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html#cfn-elasticmapreduce-step-actiononfailure",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "HadoopJarStep": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html#cfn-elasticmapreduce-step-hadoopjarstep",
        "Required": true,
        "Type": "HadoopJarStepConfig",
        "UpdateType": "Immutable"
      },
      "JobFlowId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html#cfn-elasticmapreduce-step-jobflowid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html#cfn-elasticmapreduce-step-name",
        "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": "Mutable"
      },
      "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": "Conditional"
      },
      "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::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::ElastiCache::ReplicationGroup": {
    "Attributes": {
      "ConfigurationEndPoint.Address": {
        "PrimitiveType": "String"
      },
      "ConfigurationEndPoint.Port": {
        "PrimitiveType": "String"
      },
      "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": {
      "AtRestEncryptionEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-atrestencryptionenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "AuthToken": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-authtoken",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "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"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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": "Conditional"
      },
      "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": "Conditional"
      },
      "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"
      },
      "TransitEncryptionEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-transitencryptionenabled",
        "PrimitiveType": "Boolean",
        "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::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::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::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"
      },
      "ResourceLifecycleConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk.html#cfn-elasticbeanstalk-application-resourcelifecycleconfig",
        "Required": false,
        "Type": "ApplicationResourceLifecycleConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "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::ElasticBeanstalk::ConfigurationTemplate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-applicationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnvironmentId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-environmentid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "OptionSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-optionsettings",
        "DuplicatesAllowed": true,
        "ItemType": "ConfigurationOptionSetting",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PlatformArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-platformarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SolutionStackName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-solutionstackname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SourceConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticbeanstalk-configurationtemplate.html#cfn-elasticbeanstalk-configurationtemplate-sourceconfiguration",
        "Required": false,
        "Type": "SourceConfiguration",
        "UpdateType": "Immutable"
      }
    }
  },
  "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": "OptionSetting",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PlatformArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-beanstalk-environment-platformarn",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html#cfn-elasticbeanstalk-environment-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "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::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::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::ElasticLoadBalancingV2::ListenerCertificate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html",
    "Properties": {
      "Certificates": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html#cfn-elasticloadbalancingv2-listenercertificate-certificates",
        "DuplicatesAllowed": false,
        "ItemType": "Certificate",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "ListenerArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html#cfn-elasticloadbalancingv2-listenercertificate-listenerarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::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::ElasticLoadBalancingV2::TargetGroup": {
    "Attributes": {
      "LoadBalancerArns": {
        "PrimitiveItemType": "String",
        "Type": "List"
      },
      "TargetGroupFullName": {
        "PrimitiveType": "String"
      },
      "TargetGroupName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html",
    "Properties": {
      "HealthCheckEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-healthcheckenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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": false,
        "UpdateType": "Immutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-protocol",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "TargetType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#cfn-elasticloadbalancingv2-targetgroup-targettype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Elasticsearch::Domain": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "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"
      },
      "CognitoOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-cognitooptions",
        "Required": false,
        "Type": "CognitoOptions",
        "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": "Conditional"
      },
      "EncryptionAtRestOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-encryptionatrestoptions",
        "Required": false,
        "Type": "EncryptionAtRestOptions",
        "UpdateType": "Immutable"
      },
      "LogPublishingOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-logpublishingoptions",
        "DuplicatesAllowed": false,
        "ItemType": "LogPublishingOption",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "NodeToNodeEncryptionOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-nodetonodeencryptionoptions",
        "Required": false,
        "Type": "NodeToNodeEncryptionOptions",
        "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"
      },
      "VPCOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticsearch-domain.html#cfn-elasticsearch-domain-vpcoptions",
        "Required": false,
        "Type": "VPCOptions",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EventSchemas::Discoverer": {
    "Attributes": {
      "DiscovererArn": {
        "PrimitiveType": "String"
      },
      "DiscovererId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SourceArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-sourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-discoverer.html#cfn-eventschemas-discoverer-tags",
        "ItemType": "TagsEntry",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EventSchemas::Registry": {
    "Attributes": {
      "RegistryArn": {
        "PrimitiveType": "String"
      },
      "RegistryName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html#cfn-eventschemas-registry-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RegistryName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html#cfn-eventschemas-registry-registryname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-registry.html#cfn-eventschemas-registry-tags",
        "ItemType": "TagsEntry",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::EventSchemas::Schema": {
    "Attributes": {
      "SchemaArn": {
        "PrimitiveType": "String"
      },
      "SchemaName": {
        "PrimitiveType": "String"
      },
      "SchemaVersion": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html",
    "Properties": {
      "Content": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-content",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RegistryName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-registryname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SchemaName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-schemaname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-tags",
        "ItemType": "TagsEntry",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eventschemas-schema.html#cfn-eventschemas-schema-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Events::EventBus": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      },
      "Policy": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html",
    "Properties": {
      "EventSourceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-eventsourcename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Events::EventBusPolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-action",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Condition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-condition",
        "Required": false,
        "Type": "Condition",
        "UpdateType": "Mutable"
      },
      "EventBusName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-eventbusname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Principal": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-principal",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StatementId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-statementid",
        "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"
      },
      "EventBusName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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::FSx::FileSystem": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html",
    "Properties": {
      "BackupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-backupid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "FileSystemType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-filesystemtype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LustreConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-lustreconfiguration",
        "Required": false,
        "Type": "LustreConfiguration",
        "UpdateType": "Mutable"
      },
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "StorageCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-storagecapacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-subnetids",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "WindowsConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fsx-filesystem.html#cfn-fsx-filesystem-windowsconfiguration",
        "Required": false,
        "Type": "WindowsConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "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::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"
      },
      "OperatingSystem": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-build.html#cfn-gamelift-build-operatingsystem",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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::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": false,
        "UpdateType": "Immutable"
      },
      "CertificateConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-certificateconfiguration",
        "Required": false,
        "Type": "CertificateConfiguration",
        "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": false,
        "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"
      },
      "FleetType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-fleettype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "InstanceRoleARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-instancerolearn",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "MetricGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-metricgroups",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "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"
      },
      "NewGameSessionProtectionPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-newgamesessionprotectionpolicy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PeerVpcAwsAccountId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-peervpcawsaccountid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PeerVpcId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-peervpcid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ResourceCreationLimitPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-resourcecreationlimitpolicy",
        "Required": false,
        "Type": "ResourceCreationLimitPolicy",
        "UpdateType": "Mutable"
      },
      "RuntimeConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-runtimeconfiguration",
        "Required": false,
        "Type": "RuntimeConfiguration",
        "UpdateType": "Mutable"
      },
      "ScriptId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-scriptid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::GameLift::GameSessionQueue": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html",
    "Properties": {
      "Destinations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-destinations",
        "ItemType": "Destination",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "PlayerLatencyPolicies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-playerlatencypolicies",
        "ItemType": "PlayerLatencyPolicy",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TimeoutInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-gamesessionqueue.html#cfn-gamelift-gamesessionqueue-timeoutinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GameLift::MatchmakingConfiguration": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html",
    "Properties": {
      "AcceptanceRequired": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-acceptancerequired",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "AcceptanceTimeoutSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-acceptancetimeoutseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AdditionalPlayerCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-additionalplayercount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "BackfillMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-backfillmode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CustomEventData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-customeventdata",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GameProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-gameproperties",
        "ItemType": "GameProperty",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "GameSessionData": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-gamesessiondata",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GameSessionQueueArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-gamesessionqueuearns",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "NotificationTarget": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-notificationtarget",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RequestTimeoutSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-requesttimeoutseconds",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RuleSetName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingconfiguration.html#cfn-gamelift-matchmakingconfiguration-rulesetname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GameLift::MatchmakingRuleSet": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html#cfn-gamelift-matchmakingruleset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RuleSetBody": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-matchmakingruleset.html#cfn-gamelift-matchmakingruleset-rulesetbody",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::GameLift::Script": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html#cfn-gamelift-script-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StorageLocation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html#cfn-gamelift-script-storagelocation",
        "Required": true,
        "Type": "S3Location",
        "UpdateType": "Mutable"
      },
      "Version": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-script.html#cfn-gamelift-script-version",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Classifier": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html",
    "Properties": {
      "CsvClassifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-csvclassifier",
        "Required": false,
        "Type": "CsvClassifier",
        "UpdateType": "Mutable"
      },
      "GrokClassifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-grokclassifier",
        "Required": false,
        "Type": "GrokClassifier",
        "UpdateType": "Mutable"
      },
      "JsonClassifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-jsonclassifier",
        "Required": false,
        "Type": "JsonClassifier",
        "UpdateType": "Mutable"
      },
      "XMLClassifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-classifier.html#cfn-glue-classifier-xmlclassifier",
        "Required": false,
        "Type": "XMLClassifier",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Connection": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html",
    "Properties": {
      "CatalogId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html#cfn-glue-connection-catalogid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ConnectionInput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-connection.html#cfn-glue-connection-connectioninput",
        "Required": true,
        "Type": "ConnectionInput",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Crawler": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html",
    "Properties": {
      "Classifiers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-classifiers",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Configuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-configuration",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CrawlerSecurityConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-crawlersecurityconfiguration",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-databasename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Role": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-role",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Schedule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-schedule",
        "Required": false,
        "Type": "Schedule",
        "UpdateType": "Mutable"
      },
      "SchemaChangePolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-schemachangepolicy",
        "Required": false,
        "Type": "SchemaChangePolicy",
        "UpdateType": "Mutable"
      },
      "TablePrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-tableprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Targets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-crawler.html#cfn-glue-crawler-targets",
        "Required": true,
        "Type": "Targets",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::DataCatalogEncryptionSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html",
    "Properties": {
      "CatalogId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html#cfn-glue-datacatalogencryptionsettings-catalogid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DataCatalogEncryptionSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-datacatalogencryptionsettings.html#cfn-glue-datacatalogencryptionsettings-datacatalogencryptionsettings",
        "Required": true,
        "Type": "DataCatalogEncryptionSettings",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Database": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html",
    "Properties": {
      "CatalogId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html#cfn-glue-database-catalogid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DatabaseInput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-database.html#cfn-glue-database-databaseinput",
        "Required": true,
        "Type": "DatabaseInput",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::DevEndpoint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html",
    "Properties": {
      "Arguments": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-arguments",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EndpointName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-endpointname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ExtraJarsS3Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-extrajarss3path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExtraPythonLibsS3Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-extrapythonlibss3path",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GlueVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-glueversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NumberOfNodes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-numberofnodes",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NumberOfWorkers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-numberofworkers",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PublicKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-publickey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SecurityConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-securityconfiguration",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "WorkerType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-devendpoint.html#cfn-glue-devendpoint-workertype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Job": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html",
    "Properties": {
      "AllocatedCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-allocatedcapacity",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Command": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-command",
        "Required": true,
        "Type": "JobCommand",
        "UpdateType": "Mutable"
      },
      "Connections": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-connections",
        "Required": false,
        "Type": "ConnectionsList",
        "UpdateType": "Mutable"
      },
      "DefaultArguments": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-defaultarguments",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ExecutionProperty": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-executionproperty",
        "Required": false,
        "Type": "ExecutionProperty",
        "UpdateType": "Mutable"
      },
      "GlueVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-glueversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LogUri": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-loguri",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-maxcapacity",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxRetries": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-maxretries",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "NotificationProperty": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-notificationproperty",
        "Required": false,
        "Type": "NotificationProperty",
        "UpdateType": "Mutable"
      },
      "NumberOfWorkers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-numberofworkers",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Role": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-role",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SecurityConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-securityconfiguration",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Timeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-timeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "WorkerType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-job.html#cfn-glue-job-workertype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::MLTransform": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GlueVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-glueversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InputRecordTables": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-inputrecordtables",
        "Required": true,
        "Type": "InputRecordTables",
        "UpdateType": "Immutable"
      },
      "MaxCapacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-maxcapacity",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaxRetries": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-maxretries",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NumberOfWorkers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-numberofworkers",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Role": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-role",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Timeout": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-timeout",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TransformParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-transformparameters",
        "Required": true,
        "Type": "TransformParameters",
        "UpdateType": "Mutable"
      },
      "WorkerType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-mltransform.html#cfn-glue-mltransform-workertype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Partition": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html",
    "Properties": {
      "CatalogId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html#cfn-glue-partition-catalogid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html#cfn-glue-partition-databasename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "PartitionInput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html#cfn-glue-partition-partitioninput",
        "Required": true,
        "Type": "PartitionInput",
        "UpdateType": "Mutable"
      },
      "TableName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-partition.html#cfn-glue-partition-tablename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Glue::SecurityConfiguration": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html",
    "Properties": {
      "EncryptionConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html#cfn-glue-securityconfiguration-encryptionconfiguration",
        "Required": true,
        "Type": "EncryptionConfiguration",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-securityconfiguration.html#cfn-glue-securityconfiguration-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Glue::Table": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html",
    "Properties": {
      "CatalogId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html#cfn-glue-table-catalogid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DatabaseName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html#cfn-glue-table-databasename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "TableInput": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-table.html#cfn-glue-table-tableinput",
        "Required": true,
        "Type": "TableInput",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Glue::Trigger": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html",
    "Properties": {
      "Actions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-actions",
        "ItemType": "Action",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Predicate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-predicate",
        "Required": false,
        "Type": "Predicate",
        "UpdateType": "Mutable"
      },
      "Schedule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-schedule",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StartOnCreation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-startoncreation",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "WorkflowName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-trigger.html#cfn-glue-trigger-workflowname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Glue::Workflow": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html",
    "Properties": {
      "DefaultRunProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-defaultrunproperties",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-glue-workflow.html#cfn-glue-workflow-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Greengrass::ConnectorDefinition": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      },
      "LatestVersionArn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html",
    "Properties": {
      "InitialVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-initialversion",
        "Required": false,
        "Type": "ConnectorDefinitionVersion",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinition.html#cfn-greengrass-connectordefinition-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Greengrass::ConnectorDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html",
    "Properties": {
      "ConnectorDefinitionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html#cfn-greengrass-connectordefinitionversion-connectordefinitionid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Connectors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-connectordefinitionversion.html#cfn-greengrass-connectordefinitionversion-connectors",
        "ItemType": "Connector",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::CoreDefinition": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      },
      "LatestVersionArn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html",
    "Properties": {
      "InitialVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-initialversion",
        "Required": false,
        "Type": "CoreDefinitionVersion",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinition.html#cfn-greengrass-coredefinition-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Greengrass::CoreDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html",
    "Properties": {
      "CoreDefinitionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html#cfn-greengrass-coredefinitionversion-coredefinitionid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Cores": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-coredefinitionversion.html#cfn-greengrass-coredefinitionversion-cores",
        "ItemType": "Core",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::DeviceDefinition": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      },
      "LatestVersionArn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html",
    "Properties": {
      "InitialVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-initialversion",
        "Required": false,
        "Type": "DeviceDefinitionVersion",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinition.html#cfn-greengrass-devicedefinition-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Greengrass::DeviceDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html",
    "Properties": {
      "DeviceDefinitionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html#cfn-greengrass-devicedefinitionversion-devicedefinitionid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Devices": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-devicedefinitionversion.html#cfn-greengrass-devicedefinitionversion-devices",
        "ItemType": "Device",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinition": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      },
      "LatestVersionArn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html",
    "Properties": {
      "InitialVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-initialversion",
        "Required": false,
        "Type": "FunctionDefinitionVersion",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinition.html#cfn-greengrass-functiondefinition-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Greengrass::FunctionDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html",
    "Properties": {
      "DefaultConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-defaultconfig",
        "Required": false,
        "Type": "DefaultConfig",
        "UpdateType": "Immutable"
      },
      "FunctionDefinitionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-functiondefinitionid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Functions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-functiondefinitionversion.html#cfn-greengrass-functiondefinitionversion-functions",
        "ItemType": "Function",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::Group": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      },
      "LatestVersionArn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      },
      "RoleArn": {
        "PrimitiveType": "String"
      },
      "RoleAttachedAt": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html",
    "Properties": {
      "InitialVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-initialversion",
        "Required": false,
        "Type": "GroupVersion",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-group.html#cfn-greengrass-group-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Greengrass::GroupVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html",
    "Properties": {
      "ConnectorDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-connectordefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "CoreDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-coredefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DeviceDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-devicedefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "FunctionDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-functiondefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "GroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-groupid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "LoggerDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-loggerdefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ResourceDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-resourcedefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SubscriptionDefinitionVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-groupversion.html#cfn-greengrass-groupversion-subscriptiondefinitionversionarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::LoggerDefinition": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      },
      "LatestVersionArn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html",
    "Properties": {
      "InitialVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-initialversion",
        "Required": false,
        "Type": "LoggerDefinitionVersion",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinition.html#cfn-greengrass-loggerdefinition-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Greengrass::LoggerDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html",
    "Properties": {
      "LoggerDefinitionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html#cfn-greengrass-loggerdefinitionversion-loggerdefinitionid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Loggers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-loggerdefinitionversion.html#cfn-greengrass-loggerdefinitionversion-loggers",
        "ItemType": "Logger",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinition": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      },
      "LatestVersionArn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html",
    "Properties": {
      "InitialVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-initialversion",
        "Required": false,
        "Type": "ResourceDefinitionVersion",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Greengrass::ResourceDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html",
    "Properties": {
      "ResourceDefinitionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html#cfn-greengrass-resourcedefinitionversion-resourcedefinitionid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Resources": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html#cfn-greengrass-resourcedefinitionversion-resources",
        "ItemType": "ResourceInstance",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Greengrass::SubscriptionDefinition": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      },
      "LatestVersionArn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html",
    "Properties": {
      "InitialVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-initialversion",
        "Required": false,
        "Type": "SubscriptionDefinitionVersion",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinition.html#cfn-greengrass-subscriptiondefinition-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Greengrass::SubscriptionDefinitionVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html",
    "Properties": {
      "SubscriptionDefinitionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html#cfn-greengrass-subscriptiondefinitionversion-subscriptiondefinitionid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Subscriptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-subscriptiondefinitionversion.html#cfn-greengrass-subscriptiondefinitionversion-subscriptions",
        "ItemType": "Subscription",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::GuardDuty::Detector": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html",
    "Properties": {
      "Enable": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html#cfn-guardduty-detector-enable",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "FindingPublishingFrequency": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-detector.html#cfn-guardduty-detector-findingpublishingfrequency",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GuardDuty::Filter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-action",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DetectorId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-detectorid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "FindingCriteria": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-findingcriteria",
        "Required": true,
        "Type": "FindingCriteria",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Rank": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-filter.html#cfn-guardduty-filter-rank",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GuardDuty::IPSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html",
    "Properties": {
      "Activate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-activate",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DetectorId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-detectorid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Format": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-format",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-location",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-ipset.html#cfn-guardduty-ipset-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GuardDuty::Master": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html",
    "Properties": {
      "DetectorId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html#cfn-guardduty-master-detectorid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InvitationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html#cfn-guardduty-master-invitationid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "MasterId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html#cfn-guardduty-master-masterid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::GuardDuty::Member": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html",
    "Properties": {
      "DetectorId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html#cfn-guardduty-member-detectorid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DisableEmailNotification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html#cfn-guardduty-member-disableemailnotification",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Email": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html#cfn-guardduty-member-email",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "MemberId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html#cfn-guardduty-member-memberid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Message": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html#cfn-guardduty-member-message",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Status": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-member.html#cfn-guardduty-member-status",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::GuardDuty::ThreatIntelSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html",
    "Properties": {
      "Activate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-activate",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DetectorId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-detectorid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Format": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-format",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Location": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-location",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-threatintelset.html#cfn-guardduty-threatintelset-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "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::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::IAM::InstanceProfile": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html",
    "Properties": {
      "InstanceProfileName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html#cfn-iam-instanceprofile-instanceprofilename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Path": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html#cfn-iam-instanceprofile-path",
        "PrimitiveType": "String",
        "Required": false,
        "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::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": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ManagedPolicyName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html#cfn-iam-managedpolicy-managedpolicyname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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": true,
        "UpdateType": "Mutable"
      },
      "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": "Mutable"
      },
      "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::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": "Json",
        "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::IAM::Role": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "RoleId": {
        "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": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-description",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "MaxSessionDuration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-maxsessionduration",
        "PrimitiveType": "Integer",
        "Required": false,
        "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"
      },
      "PermissionsBoundary": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-permissionsboundary",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IAM::ServiceLinkedRole": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html",
    "Properties": {
      "AWSServiceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html#cfn-iam-servicelinkedrole-awsservicename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "CustomSuffix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html#cfn-iam-servicelinkedrole-customsuffix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-servicelinkedrole.html#cfn-iam-servicelinkedrole-description",
        "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"
      },
      "PermissionsBoundary": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-permissionsboundary",
        "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html#cfn-iam-user-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "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::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::Inspector::AssessmentTarget": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html",
    "Properties": {
      "AssessmentTargetName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html#cfn-inspector-assessmenttarget-assessmenttargetname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ResourceGroupArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttarget.html#cfn-inspector-assessmenttarget-resourcegrouparn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Inspector::AssessmentTemplate": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html",
    "Properties": {
      "AssessmentTargetArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html#cfn-inspector-assessmenttemplate-assessmenttargetarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "AssessmentTemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html#cfn-inspector-assessmenttemplate-assessmenttemplatename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DurationInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html#cfn-inspector-assessmenttemplate-durationinseconds",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RulesPackageArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html#cfn-inspector-assessmenttemplate-rulespackagearns",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "UserAttributesForFindings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-assessmenttemplate.html#cfn-inspector-assessmenttemplate-userattributesforfindings",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Inspector::ResourceGroup": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html",
    "Properties": {
      "ResourceGroupTags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-inspector-resourcegroup.html#cfn-inspector-resourcegroup-resourcegrouptags",
        "ItemType": "Tag",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::IoT1Click::Device": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "DeviceId": {
        "PrimitiveType": "String"
      },
      "Enabled": {
        "PrimitiveType": "Boolean"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html",
    "Properties": {
      "DeviceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html#cfn-iot1click-device-deviceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-device.html#cfn-iot1click-device-enabled",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoT1Click::Placement": {
    "Attributes": {
      "PlacementName": {
        "PrimitiveType": "String"
      },
      "ProjectName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html",
    "Properties": {
      "AssociatedDevices": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-associateddevices",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Attributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-attributes",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PlacementName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-placementname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ProjectName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-placement.html#cfn-iot1click-placement-projectname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::IoT1Click::Project": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "ProjectName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html#cfn-iot1click-project-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PlacementTemplate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html#cfn-iot1click-project-placementtemplate",
        "Required": true,
        "Type": "PlacementTemplate",
        "UpdateType": "Mutable"
      },
      "ProjectName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot1click-project.html#cfn-iot1click-project-projectname",
        "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::IoT::Policy": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "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::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::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::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::IoT::TopicRule": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "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::IoTAnalytics::Channel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html",
    "Properties": {
      "ChannelName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html#cfn-iotanalytics-channel-channelname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ChannelStorage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html#cfn-iotanalytics-channel-channelstorage",
        "Required": false,
        "Type": "ChannelStorage",
        "UpdateType": "Mutable"
      },
      "RetentionPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html#cfn-iotanalytics-channel-retentionperiod",
        "Required": false,
        "Type": "RetentionPeriod",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-channel.html#cfn-iotanalytics-channel-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Dataset": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html",
    "Properties": {
      "Actions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-actions",
        "ItemType": "Action",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ContentDeliveryRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-contentdeliveryrules",
        "ItemType": "DatasetContentDeliveryRule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DatasetName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-datasetname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RetentionPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-retentionperiod",
        "Required": false,
        "Type": "RetentionPeriod",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Triggers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-triggers",
        "ItemType": "Trigger",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VersioningConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-dataset.html#cfn-iotanalytics-dataset-versioningconfiguration",
        "Required": false,
        "Type": "VersioningConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Datastore": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html",
    "Properties": {
      "DatastoreName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html#cfn-iotanalytics-datastore-datastorename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DatastoreStorage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html#cfn-iotanalytics-datastore-datastorestorage",
        "Required": false,
        "Type": "DatastoreStorage",
        "UpdateType": "Mutable"
      },
      "RetentionPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html#cfn-iotanalytics-datastore-retentionperiod",
        "Required": false,
        "Type": "RetentionPeriod",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-datastore.html#cfn-iotanalytics-datastore-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTAnalytics::Pipeline": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html",
    "Properties": {
      "PipelineActivities": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html#cfn-iotanalytics-pipeline-pipelineactivities",
        "ItemType": "Activity",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PipelineName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html#cfn-iotanalytics-pipeline-pipelinename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotanalytics-pipeline.html#cfn-iotanalytics-pipeline-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::DetectorModel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html",
    "Properties": {
      "DetectorModelDefinition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-detectormodeldefinition",
        "Required": false,
        "Type": "DetectorModelDefinition",
        "UpdateType": "Mutable"
      },
      "DetectorModelDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-detectormodeldescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DetectorModelName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-detectormodelname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-key",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-detectormodel.html#cfn-iotevents-detectormodel-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTEvents::Input": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html",
    "Properties": {
      "InputDefinition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-inputdefinition",
        "Required": false,
        "Type": "InputDefinition",
        "UpdateType": "Mutable"
      },
      "InputDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-inputdescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InputName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-inputname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotevents-input.html#cfn-iotevents-input-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::IoTThingsGraph::FlowTemplate": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html",
    "Properties": {
      "CompatibleNamespaceVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html#cfn-iotthingsgraph-flowtemplate-compatiblenamespaceversion",
        "PrimitiveType": "Double",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Definition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotthingsgraph-flowtemplate.html#cfn-iotthingsgraph-flowtemplate-definition",
        "Required": true,
        "Type": "DefinitionDocument",
        "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::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"
      },
      "PendingWindowInDays": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-pendingwindowindays",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html#cfn-kms-key-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "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"
      },
      "RetentionPeriodHours": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-retentionperiodhours",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ShardCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-shardcount",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StreamEncryption": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html#cfn-kinesis-stream-streamencryption",
        "Required": false,
        "Type": "StreamEncryption",
        "UpdateType": "Mutable"
      },
      "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::Kinesis::StreamConsumer": {
    "Attributes": {
      "ConsumerARN": {
        "PrimitiveType": "String"
      },
      "ConsumerCreationTimestamp": {
        "PrimitiveType": "String"
      },
      "ConsumerName": {
        "PrimitiveType": "String"
      },
      "ConsumerStatus": {
        "PrimitiveType": "String"
      },
      "StreamARN": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html",
    "Properties": {
      "ConsumerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html#cfn-kinesis-streamconsumer-consumername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "StreamARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-streamconsumer.html#cfn-kinesis-streamconsumer-streamarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::KinesisAnalytics::Application": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html",
    "Properties": {
      "ApplicationCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html#cfn-kinesisanalytics-application-applicationcode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ApplicationDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html#cfn-kinesisanalytics-application-applicationdescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html#cfn-kinesisanalytics-application-applicationname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Inputs": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-application.html#cfn-kinesisanalytics-application-inputs",
        "ItemType": "Input",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationOutput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html#cfn-kinesisanalytics-applicationoutput-applicationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Output": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationoutput.html#cfn-kinesisanalytics-applicationoutput-output",
        "Required": true,
        "Type": "Output",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalytics::ApplicationReferenceDataSource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html#cfn-kinesisanalytics-applicationreferencedatasource-applicationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ReferenceDataSource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalytics-applicationreferencedatasource.html#cfn-kinesisanalytics-applicationreferencedatasource-referencedatasource",
        "Required": true,
        "Type": "ReferenceDataSource",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::Application": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html",
    "Properties": {
      "ApplicationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-applicationconfiguration",
        "Required": false,
        "Type": "ApplicationConfiguration",
        "UpdateType": "Mutable"
      },
      "ApplicationDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-applicationdescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-applicationname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RuntimeEnvironment": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-runtimeenvironment",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ServiceExecutionRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-serviceexecutionrole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-applicationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "CloudWatchLoggingOption": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationcloudwatchloggingoption.html#cfn-kinesisanalyticsv2-applicationcloudwatchloggingoption-cloudwatchloggingoption",
        "Required": true,
        "Type": "CloudWatchLoggingOption",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationOutput": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html#cfn-kinesisanalyticsv2-applicationoutput-applicationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Output": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationoutput.html#cfn-kinesisanalyticsv2-applicationoutput-output",
        "Required": true,
        "Type": "Output",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html",
    "Properties": {
      "ApplicationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-applicationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ReferenceDataSource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-applicationreferencedatasource.html#cfn-kinesisanalyticsv2-applicationreferencedatasource-referencedatasource",
        "Required": true,
        "Type": "ReferenceDataSource",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::KinesisFirehose::DeliveryStream": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "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-deliverystream-deliverystreamname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DeliveryStreamType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-deliverystreamtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ElasticsearchDestinationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-elasticsearchdestinationconfiguration",
        "Required": false,
        "Type": "ElasticsearchDestinationConfiguration",
        "UpdateType": "Mutable"
      },
      "ExtendedS3DestinationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-extendeds3destinationconfiguration",
        "Required": false,
        "Type": "ExtendedS3DestinationConfiguration",
        "UpdateType": "Mutable"
      },
      "KinesisStreamSourceConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-kinesisstreamsourceconfiguration",
        "Required": false,
        "Type": "KinesisStreamSourceConfiguration",
        "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"
      },
      "SplunkDestinationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisfirehose-deliverystream.html#cfn-kinesisfirehose-deliverystream-splunkdestinationconfiguration",
        "Required": false,
        "Type": "SplunkDestinationConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::LakeFormation::DataLakeSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html",
    "Properties": {
      "Admins": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-datalakesettings.html#cfn-lakeformation-datalakesettings-admins",
        "Required": false,
        "Type": "Admins",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::LakeFormation::Permissions": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html",
    "Properties": {
      "DataLakePrincipal": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html#cfn-lakeformation-permissions-datalakeprincipal",
        "Required": true,
        "Type": "DataLakePrincipal",
        "UpdateType": "Mutable"
      },
      "Permissions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html#cfn-lakeformation-permissions-permissions",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PermissionsWithGrantOption": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html#cfn-lakeformation-permissions-permissionswithgrantoption",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Resource": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-permissions.html#cfn-lakeformation-permissions-resource",
        "Required": true,
        "Type": "Resource",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::LakeFormation::Resource": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html",
    "Properties": {
      "ResourceArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html#cfn-lakeformation-resource-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html#cfn-lakeformation-resource-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "UseServiceLinkedRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lakeformation-resource.html#cfn-lakeformation-resource-useservicelinkedrole",
        "PrimitiveType": "Boolean",
        "Required": true,
        "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"
      },
      "ProvisionedConcurrencyConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig",
        "Required": false,
        "Type": "ProvisionedConcurrencyConfiguration",
        "UpdateType": "Mutable"
      },
      "RoutingConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-routingconfig",
        "Required": false,
        "Type": "AliasRoutingConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Lambda::EventInvokeConfig": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html",
    "Properties": {
      "DestinationConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-destinationconfig",
        "Required": false,
        "Type": "DestinationConfig",
        "UpdateType": "Mutable"
      },
      "FunctionName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-functionname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "MaximumEventAgeInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-maximumeventageinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaximumRetryAttempts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-maximumretryattempts",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Qualifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-qualifier",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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"
      },
      "BisectBatchOnFunctionError": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DestinationConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig",
        "Required": false,
        "Type": "DestinationConfig",
        "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"
      },
      "MaximumBatchingWindowInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaximumRecordAgeInSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MaximumRetryAttempts": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ParallelizationFactor": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StartingPosition": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "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"
      },
      "DeadLetterConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-deadletterconfig",
        "Required": false,
        "Type": "DeadLetterConfig",
        "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"
      },
      "Layers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-layers",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "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"
      },
      "ReservedConcurrentExecutions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-reservedconcurrentexecutions",
        "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": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "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"
      },
      "TracingConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tracingconfig",
        "Required": false,
        "Type": "TracingConfig",
        "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::Lambda::LayerVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html",
    "Properties": {
      "CompatibleRuntimes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-compatibleruntimes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Content": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-content",
        "Required": true,
        "Type": "Content",
        "UpdateType": "Immutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LayerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-layername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LicenseInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-licenseinfo",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Lambda::LayerVersionPermission": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html",
    "Properties": {
      "Action": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html#cfn-lambda-layerversionpermission-action",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "LayerVersionArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html#cfn-lambda-layerversionpermission-layerversionarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "OrganizationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html#cfn-lambda-layerversionpermission-organizationid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Principal": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversionpermission.html#cfn-lambda-layerversionpermission-principal",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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"
      },
      "EventSourceToken": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html#cfn-lambda-permission-eventsourcetoken",
        "PrimitiveType": "String",
        "Required": false,
        "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::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"
      },
      "ProvisionedConcurrencyConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-provisionedconcurrencyconfig",
        "Required": false,
        "Type": "ProvisionedConcurrencyConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Logs::Destination": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "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::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::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::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": false,
        "ItemType": "MetricTransformation",
        "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::MSK::Cluster": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html",
    "Properties": {
      "BrokerNodeGroupInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-brokernodegroupinfo",
        "Required": true,
        "Type": "BrokerNodeGroupInfo",
        "UpdateType": "Immutable"
      },
      "ClientAuthentication": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-clientauthentication",
        "Required": false,
        "Type": "ClientAuthentication",
        "UpdateType": "Immutable"
      },
      "ClusterName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-clustername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ConfigurationInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-configurationinfo",
        "Required": false,
        "Type": "ConfigurationInfo",
        "UpdateType": "Immutable"
      },
      "EncryptionInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-encryptioninfo",
        "Required": false,
        "Type": "EncryptionInfo",
        "UpdateType": "Immutable"
      },
      "EnhancedMonitoring": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-enhancedmonitoring",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KafkaVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-kafkaversion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "NumberOfBrokerNodes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-numberofbrokernodes",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OpenMonitoring": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-openmonitoring",
        "Required": false,
        "Type": "OpenMonitoring",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-msk-cluster.html#cfn-msk-cluster-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ManagedBlockchain::Member": {
    "Attributes": {
      "MemberId": {
        "PrimitiveType": "String"
      },
      "NetworkId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html",
    "Properties": {
      "InvitationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html#cfn-managedblockchain-member-invitationid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MemberConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html#cfn-managedblockchain-member-memberconfiguration",
        "Required": true,
        "Type": "MemberConfiguration",
        "UpdateType": "Mutable"
      },
      "NetworkConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html#cfn-managedblockchain-member-networkconfiguration",
        "Required": false,
        "Type": "NetworkConfiguration",
        "UpdateType": "Mutable"
      },
      "NetworkId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-member.html#cfn-managedblockchain-member-networkid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ManagedBlockchain::Node": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "MemberId": {
        "PrimitiveType": "String"
      },
      "NetworkId": {
        "PrimitiveType": "String"
      },
      "NodeId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html",
    "Properties": {
      "MemberId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html#cfn-managedblockchain-node-memberid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "NetworkId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html#cfn-managedblockchain-node-networkid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "NodeConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-managedblockchain-node.html#cfn-managedblockchain-node-nodeconfiguration",
        "Required": true,
        "Type": "NodeConfiguration",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaConvert::JobTemplate": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html",
    "Properties": {
      "AccelerationSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-accelerationsettings",
        "Required": false,
        "Type": "AccelerationSettings",
        "UpdateType": "Mutable"
      },
      "Category": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-category",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Priority": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-priority",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Queue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-queue",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SettingsJson": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-settingsjson",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StatusUpdateInterval": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-statusupdateinterval",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-jobtemplate.html#cfn-mediaconvert-jobtemplate-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaConvert::Preset": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html",
    "Properties": {
      "Category": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-category",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SettingsJson": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-settingsjson",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-preset.html#cfn-mediaconvert-preset-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaConvert::Queue": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PricingPlan": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-pricingplan",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Status": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-status",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediaconvert-queue.html#cfn-mediaconvert-queue-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Channel": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Inputs": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html",
    "Properties": {
      "ChannelClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-channelclass",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Destinations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-destinations",
        "ItemType": "OutputDestination",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EncoderSettings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-encodersettings",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InputAttachments": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-inputattachments",
        "ItemType": "InputAttachment",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "InputSpecification": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-inputspecification",
        "Required": false,
        "Type": "InputSpecification",
        "UpdateType": "Mutable"
      },
      "LogLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-loglevel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-channel.html#cfn-medialive-channel-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaLive::Input": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Destinations": {
        "PrimitiveItemType": "String",
        "Type": "List"
      },
      "Sources": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html",
    "Properties": {
      "Destinations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-destinations",
        "ItemType": "InputDestinationRequest",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "InputSecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-inputsecuritygroups",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MediaConnectFlows": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-mediaconnectflows",
        "ItemType": "MediaConnectFlowRequest",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Sources": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-sources",
        "ItemType": "InputSourceRequest",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-type",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Vpc": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-input.html#cfn-medialive-input-vpc",
        "Required": false,
        "Type": "InputVpcRequest",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::MediaLive::InputSecurityGroup": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html",
    "Properties": {
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html#cfn-medialive-inputsecuritygroup-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "WhitelistRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-medialive-inputsecuritygroup.html#cfn-medialive-inputsecuritygroup-whitelistrules",
        "ItemType": "InputWhitelistRuleCidr",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::MediaStore::Container": {
    "Attributes": {
      "Endpoint": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html",
    "Properties": {
      "AccessLoggingEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-accessloggingenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ContainerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-containername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "CorsPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-corspolicy",
        "ItemType": "CorsRule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "LifecyclePolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-lifecyclepolicy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Policy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-mediastore-container.html#cfn-mediastore-container-policy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Neptune::DBCluster": {
    "Attributes": {
      "ClusterResourceId": {
        "PrimitiveType": "String"
      },
      "Endpoint": {
        "PrimitiveType": "String"
      },
      "Port": {
        "PrimitiveType": "String"
      },
      "ReadEndpoint": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html",
    "Properties": {
      "AvailabilityZones": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-availabilityzones",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "BackupRetentionPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-backupretentionperiod",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DBClusterIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbclusteridentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DBClusterParameterGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbclusterparametergroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DBSubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbsubnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EnableCloudwatchLogsExports": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-enablecloudwatchlogsexports",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "IamAuthEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-iamauthenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Port": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-port",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreferredBackupWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-preferredbackupwindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreferredMaintenanceWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-preferredmaintenancewindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SnapshotIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-snapshotidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StorageEncrypted": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-storageencrypted",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcSecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-vpcsecuritygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Neptune::DBClusterParameterGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Family": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-family",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-parameters",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Neptune::DBInstance": {
    "Attributes": {
      "Endpoint": {
        "PrimitiveType": "String"
      },
      "Port": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html",
    "Properties": {
      "AllowMajorVersionUpgrade": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-allowmajorversionupgrade",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AutoMinorVersionUpgrade": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-autominorversionupgrade",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AvailabilityZone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-availabilityzone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DBClusterIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-dbclusteridentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DBInstanceClass": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-dbinstanceclass",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DBInstanceIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-dbinstanceidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DBParameterGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-dbparametergroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DBSnapshotIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-dbsnapshotidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DBSubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-dbsubnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PreferredMaintenanceWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-preferredmaintenancewindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html#cfn-neptune-dbinstance-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Neptune::DBParameterGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html#cfn-neptune-dbparametergroup-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Family": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html#cfn-neptune-dbparametergroup-family",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html#cfn-neptune-dbparametergroup-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html#cfn-neptune-dbparametergroup-parameters",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbparametergroup.html#cfn-neptune-dbparametergroup-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Neptune::DBSubnetGroup": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html",
    "Properties": {
      "DBSubnetGroupDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html#cfn-neptune-dbsubnetgroup-dbsubnetgroupdescription",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DBSubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html#cfn-neptune-dbsubnetgroup-dbsubnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html#cfn-neptune-dbsubnetgroup-subnetids",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbsubnetgroup.html#cfn-neptune-dbsubnetgroup-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "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::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::OpsWorks::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-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::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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-layer.html#cfn-opsworks-layer-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "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::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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-stack.html#cfn-opsworks-stack-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "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::OpsWorks::UserProfile": {
    "Attributes": {
      "SshUsername": {
        "PrimitiveType": "String"
      }
    },
    "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"
      },
      "SshUsername": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworks-userprofile.html#cfn-opsworks-userprofile-sshusername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "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::OpsWorksCM::Server": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Endpoint": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html",
    "Properties": {
      "AssociatePublicIpAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-associatepublicipaddress",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BackupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-backupid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BackupRetentionCount": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-backupretentioncount",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "CustomCertificate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-customcertificate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "CustomDomain": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-customdomain",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "CustomPrivateKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-customprivatekey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "DisableAutomatedBackup": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-disableautomatedbackup",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Engine": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-engine",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EngineAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-engineattributes",
        "ItemType": "EngineAttribute",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EngineModel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-enginemodel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "EngineVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-engineversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "InstanceProfileArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-instanceprofilearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "KeyPair": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-keypair",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PreferredBackupWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-preferredbackupwindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PreferredMaintenanceWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-preferredmaintenancewindow",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "ServerName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-servername",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ServiceRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-servicerolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SubnetIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-opsworkscm-server.html#cfn-opsworkscm-server-subnetids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Pinpoint::ADMChannel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html",
    "Properties": {
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html#cfn-pinpoint-admchannel-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ClientId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html#cfn-pinpoint-admchannel-clientid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ClientSecret": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html#cfn-pinpoint-admchannel-clientsecret",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-admchannel.html#cfn-pinpoint-admchannel-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::APNSChannel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html",
    "Properties": {
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "BundleId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-bundleid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Certificate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-certificate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultAuthenticationMethod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-defaultauthenticationmethod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-privatekey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TeamId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-teamid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TokenKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-tokenkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TokenKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnschannel.html#cfn-pinpoint-apnschannel-tokenkeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::APNSSandboxChannel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html",
    "Properties": {
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "BundleId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-bundleid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Certificate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-certificate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultAuthenticationMethod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-defaultauthenticationmethod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-privatekey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TeamId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-teamid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TokenKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-tokenkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TokenKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnssandboxchannel.html#cfn-pinpoint-apnssandboxchannel-tokenkeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::APNSVoipChannel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html",
    "Properties": {
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "BundleId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-bundleid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Certificate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-certificate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultAuthenticationMethod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-defaultauthenticationmethod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-privatekey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TeamId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-teamid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TokenKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-tokenkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TokenKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipchannel.html#cfn-pinpoint-apnsvoipchannel-tokenkeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::APNSVoipSandboxChannel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html",
    "Properties": {
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "BundleId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-bundleid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Certificate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-certificate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DefaultAuthenticationMethod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-defaultauthenticationmethod",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PrivateKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-privatekey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TeamId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-teamid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TokenKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-tokenkey",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TokenKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-apnsvoipsandboxchannel.html#cfn-pinpoint-apnsvoipsandboxchannel-tokenkeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::App": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html#cfn-pinpoint-app-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-app.html#cfn-pinpoint-app-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::ApplicationSettings": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html",
    "Properties": {
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html#cfn-pinpoint-applicationsettings-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "CampaignHook": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html#cfn-pinpoint-applicationsettings-campaignhook",
        "Required": false,
        "Type": "CampaignHook",
        "UpdateType": "Mutable"
      },
      "CloudWatchMetricsEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html#cfn-pinpoint-applicationsettings-cloudwatchmetricsenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Limits": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html#cfn-pinpoint-applicationsettings-limits",
        "Required": false,
        "Type": "Limits",
        "UpdateType": "Mutable"
      },
      "QuietTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-applicationsettings.html#cfn-pinpoint-applicationsettings-quiettime",
        "Required": false,
        "Type": "QuietTime",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::BaiduChannel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html",
    "Properties": {
      "ApiKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html#cfn-pinpoint-baiduchannel-apikey",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html#cfn-pinpoint-baiduchannel-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html#cfn-pinpoint-baiduchannel-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecretKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-baiduchannel.html#cfn-pinpoint-baiduchannel-secretkey",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Campaign": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "CampaignId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html",
    "Properties": {
      "AdditionalTreatments": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-additionaltreatments",
        "ItemType": "WriteTreatmentResource",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "CampaignHook": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-campaignhook",
        "Required": false,
        "Type": "CampaignHook",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HoldoutPercent": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-holdoutpercent",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IsPaused": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-ispaused",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Limits": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-limits",
        "Required": false,
        "Type": "Limits",
        "UpdateType": "Mutable"
      },
      "MessageConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-messageconfiguration",
        "Required": true,
        "Type": "MessageConfiguration",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Schedule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-schedule",
        "Required": true,
        "Type": "Schedule",
        "UpdateType": "Mutable"
      },
      "SegmentId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-segmentid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SegmentVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-segmentversion",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TreatmentDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-treatmentdescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TreatmentName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-campaign.html#cfn-pinpoint-campaign-treatmentname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::EmailChannel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html",
    "Properties": {
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html#cfn-pinpoint-emailchannel-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ConfigurationSet": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html#cfn-pinpoint-emailchannel-configurationset",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html#cfn-pinpoint-emailchannel-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FromAddress": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html#cfn-pinpoint-emailchannel-fromaddress",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Identity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html#cfn-pinpoint-emailchannel-identity",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailchannel.html#cfn-pinpoint-emailchannel-rolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::EmailTemplate": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html",
    "Properties": {
      "DefaultSubstitutions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-defaultsubstitutions",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "HtmlPart": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-htmlpart",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Subject": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-subject",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TemplateDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-templatedescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-templatename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "TextPart": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-emailtemplate.html#cfn-pinpoint-emailtemplate-textpart",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::EventStream": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html",
    "Properties": {
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html#cfn-pinpoint-eventstream-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "DestinationStreamArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html#cfn-pinpoint-eventstream-destinationstreamarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-eventstream.html#cfn-pinpoint-eventstream-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::GCMChannel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html",
    "Properties": {
      "ApiKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html#cfn-pinpoint-gcmchannel-apikey",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html#cfn-pinpoint-gcmchannel-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-gcmchannel.html#cfn-pinpoint-gcmchannel-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::PushTemplate": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html",
    "Properties": {
      "ADM": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-adm",
        "Required": false,
        "Type": "AndroidPushNotificationTemplate",
        "UpdateType": "Mutable"
      },
      "APNS": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-apns",
        "Required": false,
        "Type": "APNSPushNotificationTemplate",
        "UpdateType": "Mutable"
      },
      "Baidu": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-baidu",
        "Required": false,
        "Type": "AndroidPushNotificationTemplate",
        "UpdateType": "Mutable"
      },
      "Default": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-default",
        "Required": false,
        "Type": "DefaultPushNotificationTemplate",
        "UpdateType": "Mutable"
      },
      "DefaultSubstitutions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-defaultsubstitutions",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GCM": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-gcm",
        "Required": false,
        "Type": "AndroidPushNotificationTemplate",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TemplateDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-templatedescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-pushtemplate.html#cfn-pinpoint-pushtemplate-templatename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Pinpoint::SMSChannel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html",
    "Properties": {
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html#cfn-pinpoint-smschannel-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html#cfn-pinpoint-smschannel-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SenderId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html#cfn-pinpoint-smschannel-senderid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ShortCode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smschannel.html#cfn-pinpoint-smschannel-shortcode",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::Segment": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "SegmentId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html",
    "Properties": {
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Dimensions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-dimensions",
        "Required": false,
        "Type": "SegmentDimensions",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SegmentGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-segmentgroups",
        "Required": false,
        "Type": "SegmentGroups",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-segment.html#cfn-pinpoint-segment-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Pinpoint::SmsTemplate": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html",
    "Properties": {
      "Body": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-body",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "DefaultSubstitutions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-defaultsubstitutions",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TemplateDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-templatedescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TemplateName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-smstemplate.html#cfn-pinpoint-smstemplate-templatename",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::Pinpoint::VoiceChannel": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html",
    "Properties": {
      "ApplicationId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html#cfn-pinpoint-voicechannel-applicationid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Enabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpoint-voicechannel.html#cfn-pinpoint-voicechannel-enabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html",
    "Properties": {
      "DeliveryOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html#cfn-pinpointemail-configurationset-deliveryoptions",
        "Required": false,
        "Type": "DeliveryOptions",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html#cfn-pinpointemail-configurationset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ReputationOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html#cfn-pinpointemail-configurationset-reputationoptions",
        "Required": false,
        "Type": "ReputationOptions",
        "UpdateType": "Mutable"
      },
      "SendingOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html#cfn-pinpointemail-configurationset-sendingoptions",
        "Required": false,
        "Type": "SendingOptions",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html#cfn-pinpointemail-configurationset-tags",
        "ItemType": "Tags",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TrackingOptions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationset.html#cfn-pinpointemail-configurationset-trackingoptions",
        "Required": false,
        "Type": "TrackingOptions",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::ConfigurationSetEventDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html",
    "Properties": {
      "ConfigurationSetName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html#cfn-pinpointemail-configurationseteventdestination-configurationsetname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "EventDestination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestination",
        "Required": false,
        "Type": "EventDestination",
        "UpdateType": "Mutable"
      },
      "EventDestinationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-configurationseteventdestination.html#cfn-pinpointemail-configurationseteventdestination-eventdestinationname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::PinpointEmail::DedicatedIpPool": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html",
    "Properties": {
      "PoolName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html#cfn-pinpointemail-dedicatedippool-poolname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-dedicatedippool.html#cfn-pinpointemail-dedicatedippool-tags",
        "ItemType": "Tags",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::PinpointEmail::Identity": {
    "Attributes": {
      "IdentityDNSRecordName1": {
        "PrimitiveType": "String"
      },
      "IdentityDNSRecordName2": {
        "PrimitiveType": "String"
      },
      "IdentityDNSRecordName3": {
        "PrimitiveType": "String"
      },
      "IdentityDNSRecordValue1": {
        "PrimitiveType": "String"
      },
      "IdentityDNSRecordValue2": {
        "PrimitiveType": "String"
      },
      "IdentityDNSRecordValue3": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html",
    "Properties": {
      "DkimSigningEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html#cfn-pinpointemail-identity-dkimsigningenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "FeedbackForwardingEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html#cfn-pinpointemail-identity-feedbackforwardingenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MailFromAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html#cfn-pinpointemail-identity-mailfromattributes",
        "Required": false,
        "Type": "MailFromAttributes",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html#cfn-pinpointemail-identity-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-pinpointemail-identity.html#cfn-pinpointemail-identity-tags",
        "ItemType": "Tags",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::QLDB::Ledger": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html",
    "Properties": {
      "DeletionProtection": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html#cfn-qldb-ledger-deletionprotection",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html#cfn-qldb-ledger-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PermissionsMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html#cfn-qldb-ledger-permissionsmode",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qldb-ledger.html#cfn-qldb-ledger-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RAM::ResourceShare": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html",
    "Properties": {
      "AllowExternalPrincipals": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-allowexternalprincipals",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Principals": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-principals",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ResourceArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-resourcearns",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ram-resourceshare.html#cfn-ram-resourceshare-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RDS::DBCluster": {
    "Attributes": {
      "Endpoint.Address": {
        "PrimitiveType": "String"
      },
      "Endpoint.Port": {
        "PrimitiveType": "String"
      },
      "ReadEndpoint.Address": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html",
    "Properties": {
      "AssociatedRoles": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-associatedroles",
        "DuplicatesAllowed": false,
        "ItemType": "DBClusterRole",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AvailabilityZones": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-availabilityzones",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "BacktrackWindow": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-backtrackwindow",
        "PrimitiveType": "Long",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "DBClusterIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbclusteridentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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"
      },
      "DeletionProtection": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-deletionprotection",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnableCloudwatchLogsExports": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enablecloudwatchlogsexports",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EnableHttpEndpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enablehttpendpoint",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnableIAMDatabaseAuthentication": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enableiamdatabaseauthentication",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "EngineMode": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enginemode",
        "PrimitiveType": "String",
        "Required": false,
        "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"
      },
      "ReplicationSourceIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-replicationsourceidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RestoreType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-restoretype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ScalingConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-scalingconfiguration",
        "Required": false,
        "Type": "ScalingConfiguration",
        "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"
      },
      "SourceDBClusterIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-sourcedbclusteridentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SourceRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-sourceregion",
        "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"
      },
      "UseLatestRestorableTime": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-uselatestrestorabletime",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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::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::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"
      },
      "AssociatedRoles": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-associatedroles",
        "DuplicatesAllowed": false,
        "ItemType": "DBInstanceRole",
        "Required": false,
        "Type": "List",
        "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": "Integer",
        "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"
      },
      "CopyTagsToSnapshot": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-copytagstosnapshot",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "DBInstanceIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbinstanceidentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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"
      },
      "DeleteAutomatedBackups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-deleteautomatedbackups",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DeletionProtection": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-deletionprotection",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "EnableCloudwatchLogsExports": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enablecloudwatchlogsexports",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "EnableIAMDatabaseAuthentication": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableiamdatabaseauthentication",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "EnablePerformanceInsights": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-enableperformanceinsights",
        "PrimitiveType": "Boolean",
        "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": "Mutable"
      },
      "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"
      },
      "MaxAllocatedStorage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-maxallocatedstorage",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "PerformanceInsightsKMSKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-performanceinsightskmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Conditional"
      },
      "PerformanceInsightsRetentionPeriod": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-performanceinsightsretentionperiod",
        "PrimitiveType": "Integer",
        "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"
      },
      "ProcessorFeatures": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-processorfeatures",
        "DuplicatesAllowed": false,
        "ItemType": "ProcessorFeature",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PromotionTier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-promotiontier",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "SourceRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-sourceregion",
        "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"
      },
      "Timezone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-timezone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "UseDefaultProcessorFeatures": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-usedefaultprocessorfeatures",
        "PrimitiveType": "Boolean",
        "Required": false,
        "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::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::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::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::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"
      },
      "DBSubnetGroupName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html#cfn-rds-dbsubnetgroup-dbsubnetgroupname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "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::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::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::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": {
      "AllowVersionUpgrade": {
        "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": "Mutable"
      },
      "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"
      },
      "ClusterIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clusteridentifier",
        "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": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ClusterSecurityGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clustersecuritygroups",
        "DuplicatesAllowed": true,
        "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"
      },
      "HsmConfigurationIdentifier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-HsmConfigurationIdentifier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IamRoles": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-iamroles",
        "DuplicatesAllowed": false,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "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"
      },
      "LoggingProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-loggingproperties",
        "Required": false,
        "Type": "LoggingProperties",
        "UpdateType": "Mutable"
      },
      "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcSecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-vpcsecuritygroupids",
        "DuplicatesAllowed": true,
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "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": true,
        "ItemType": "Parameter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clusterparametergroup.html#cfn-redshift-clusterparametergroup-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersecuritygroup.html#cfn-redshift-clustersecuritygroup-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "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::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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-clustersubnetgroup.html#cfn-redshift-clustersubnetgroup-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RoboMaker::Fleet": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html#cfn-robomaker-fleet-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-fleet.html#cfn-robomaker-fleet-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RoboMaker::Robot": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html",
    "Properties": {
      "Architecture": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html#cfn-robomaker-robot-architecture",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Fleet": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html#cfn-robomaker-robot-fleet",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "GreengrassGroupId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html#cfn-robomaker-robot-greengrassgroupid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html#cfn-robomaker-robot-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robot.html#cfn-robomaker-robot-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RoboMaker::RobotApplication": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "CurrentRevisionId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html",
    "Properties": {
      "CurrentRevisionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-currentrevisionid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RobotSoftwareSuite": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-robotsoftwaresuite",
        "Required": true,
        "Type": "RobotSoftwareSuite",
        "UpdateType": "Immutable"
      },
      "Sources": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-sources",
        "ItemType": "SourceConfig",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplication.html#cfn-robomaker-robotapplication-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RoboMaker::RobotApplicationVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html",
    "Properties": {
      "Application": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html#cfn-robomaker-robotapplicationversion-application",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "CurrentRevisionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-robotapplicationversion.html#cfn-robomaker-robotapplicationversion-currentrevisionid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::RoboMaker::SimulationApplication": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "CurrentRevisionId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html",
    "Properties": {
      "CurrentRevisionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html#cfn-robomaker-simulationapplication-currentrevisionid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html#cfn-robomaker-simulationapplication-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RenderingEngine": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html#cfn-robomaker-simulationapplication-renderingengine",
        "Required": true,
        "Type": "RenderingEngine",
        "UpdateType": "Immutable"
      },
      "RobotSoftwareSuite": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html#cfn-robomaker-simulationapplication-robotsoftwaresuite",
        "Required": true,
        "Type": "RobotSoftwareSuite",
        "UpdateType": "Immutable"
      },
      "SimulationSoftwareSuite": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html#cfn-robomaker-simulationapplication-simulationsoftwaresuite",
        "Required": true,
        "Type": "SimulationSoftwareSuite",
        "UpdateType": "Immutable"
      },
      "Sources": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html#cfn-robomaker-simulationapplication-sources",
        "ItemType": "SourceConfig",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplication.html#cfn-robomaker-simulationapplication-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::RoboMaker::SimulationApplicationVersion": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html",
    "Properties": {
      "Application": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html#cfn-robomaker-simulationapplicationversion-application",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "CurrentRevisionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-robomaker-simulationapplicationversion.html#cfn-robomaker-simulationapplicationversion-currentrevisionid",
        "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::Route53::HostedZone": {
    "Attributes": {
      "NameServers": {
        "PrimitiveItemType": "String",
        "Type": "List"
      }
    },
    "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"
      },
      "QueryLoggingConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-hostedzone.html#cfn-route53-hostedzone-queryloggingconfig",
        "Required": false,
        "Type": "QueryLoggingConfig",
        "UpdateType": "Mutable"
      },
      "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::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"
      },
      "MultiValueAnswer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-multivalueanswer",
        "PrimitiveType": "Boolean",
        "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": "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::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::Route53Resolver::ResolverEndpoint": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Direction": {
        "PrimitiveType": "String"
      },
      "HostVPCId": {
        "PrimitiveType": "String"
      },
      "IpAddressCount": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      },
      "ResolverEndpointId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html",
    "Properties": {
      "Direction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-direction",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "IpAddresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-ipaddresses",
        "ItemType": "IpAddressRequest",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverendpoint.html#cfn-route53resolver-resolverendpoint-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53Resolver::ResolverRule": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "DomainName": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      },
      "ResolverEndpointId": {
        "PrimitiveType": "String"
      },
      "ResolverRuleId": {
        "PrimitiveType": "String"
      },
      "TargetIps": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html",
    "Properties": {
      "DomainName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-domainname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResolverEndpointId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-resolverendpointid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RuleType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-ruletype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TargetIps": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverrule.html#cfn-route53resolver-resolverrule-targetips",
        "ItemType": "TargetAddress",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Route53Resolver::ResolverRuleAssociation": {
    "Attributes": {
      "Name": {
        "PrimitiveType": "String"
      },
      "ResolverRuleAssociationId": {
        "PrimitiveType": "String"
      },
      "ResolverRuleId": {
        "PrimitiveType": "String"
      },
      "VPCId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html#cfn-route53resolver-resolverruleassociation-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ResolverRuleId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html#cfn-route53resolver-resolverruleassociation-resolverruleid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "VPCId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53resolver-resolverruleassociation.html#cfn-route53resolver-resolverruleassociation-vpcid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::S3::AccessPoint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html",
    "Properties": {
      "Bucket": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "CreationDate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-creationdate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NetworkOrigin": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-networkorigin",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Policy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policy",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PolicyStatus": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policystatus",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PublicAccessBlockConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-publicaccessblockconfiguration",
        "Required": false,
        "Type": "PublicAccessBlockConfiguration",
        "UpdateType": "Immutable"
      },
      "VpcConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-vpcconfiguration",
        "Required": false,
        "Type": "VpcConfiguration",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::S3::Bucket": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "DomainName": {
        "PrimitiveType": "String"
      },
      "DualStackDomainName": {
        "PrimitiveType": "String"
      },
      "RegionalDomainName": {
        "PrimitiveType": "String"
      },
      "WebsiteURL": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html",
    "Properties": {
      "AccelerateConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-accelerateconfiguration",
        "Required": false,
        "Type": "AccelerateConfiguration",
        "UpdateType": "Mutable"
      },
      "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"
      },
      "AnalyticsConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-analyticsconfigurations",
        "DuplicatesAllowed": false,
        "ItemType": "AnalyticsConfiguration",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "BucketEncryption": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-bucketencryption",
        "Required": false,
        "Type": "BucketEncryption",
        "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"
      },
      "InventoryConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-inventoryconfigurations",
        "DuplicatesAllowed": false,
        "ItemType": "InventoryConfiguration",
        "Required": false,
        "Type": "List",
        "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"
      },
      "MetricsConfigurations": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-metricsconfigurations",
        "DuplicatesAllowed": false,
        "ItemType": "MetricsConfiguration",
        "Required": false,
        "Type": "List",
        "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"
      },
      "ObjectLockConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockconfiguration",
        "Required": false,
        "Type": "ObjectLockConfiguration",
        "UpdateType": "Mutable"
      },
      "ObjectLockEnabled": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockenabled",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PublicAccessBlockConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-publicaccessblockconfiguration",
        "Required": false,
        "Type": "PublicAccessBlockConfiguration",
        "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::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#aws-properties-s3-policy-bucket",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "PolicyDocument": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html#aws-properties-s3-policy-policydocument",
        "PrimitiveType": "Json",
        "Required": true,
        "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::SES::ConfigurationSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html#cfn-ses-configurationset-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SES::ConfigurationSetEventDestination": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html",
    "Properties": {
      "ConfigurationSetName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html#cfn-ses-configurationseteventdestination-configurationsetname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "EventDestination": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html#cfn-ses-configurationseteventdestination-eventdestination",
        "Required": true,
        "Type": "EventDestination",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SES::ReceiptFilter": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html",
    "Properties": {
      "Filter": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptfilter.html#cfn-ses-receiptfilter-filter",
        "Required": true,
        "Type": "Filter",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SES::ReceiptRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html",
    "Properties": {
      "After": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html#cfn-ses-receiptrule-after",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Rule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html#cfn-ses-receiptrule-rule",
        "Required": true,
        "Type": "Rule",
        "UpdateType": "Mutable"
      },
      "RuleSetName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptrule.html#cfn-ses-receiptrule-rulesetname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SES::ReceiptRuleSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html",
    "Properties": {
      "RuleSetName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-receiptruleset.html#cfn-ses-receiptruleset-rulesetname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SES::Template": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html",
    "Properties": {
      "Template": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-template.html#cfn-ses-template-template",
        "Required": false,
        "Type": "Template",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SNS::Subscription": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html",
    "Properties": {
      "DeliveryPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-deliverypolicy",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Endpoint": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-endpoint",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "FilterPolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Protocol": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-protocol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RawMessageDelivery": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-rawmessagedelivery",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RedrivePolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-redrivepolicy",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Region": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TopicArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#topicarn",
        "PrimitiveType": "String",
        "Required": true,
        "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"
      },
      "KmsMasterKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-kmsmasterkeyid",
        "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-topic.html#cfn-sns-topic-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "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::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::SQS::Queue": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "QueueName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html",
    "Properties": {
      "ContentBasedDeduplication": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-contentbaseddeduplication",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "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"
      },
      "FifoQueue": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-fifoqueue",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "KmsDataKeyReusePeriodSeconds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-kmsdatakeyreuseperiodseconds",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "KmsMasterKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#aws-sqs-queue-kmsmasterkeyid",
        "PrimitiveType": "String",
        "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html#cfn-sqs-queue-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "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::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::SSM::Association": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html",
    "Properties": {
      "AssociationName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-associationname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DocumentVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-documentversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "InstanceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-instanceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "OutputLocation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-outputlocation",
        "Required": false,
        "Type": "InstanceAssociationOutputLocation",
        "UpdateType": "Mutable"
      },
      "Parameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-parameters",
        "DuplicatesAllowed": false,
        "ItemType": "ParameterValues",
        "Required": false,
        "Type": "Map",
        "UpdateType": "Mutable"
      },
      "ScheduleExpression": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-scheduleexpression",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Targets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-association.html#cfn-ssm-association-targets",
        "DuplicatesAllowed": false,
        "ItemType": "Target",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      }
    }
  },
  "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"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-document.html#cfn-ssm-document-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::MaintenanceWindow": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html",
    "Properties": {
      "AllowUnassociatedTargets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-allowunassociatedtargets",
        "PrimitiveType": "Boolean",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Cutoff": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-cutoff",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Duration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-duration",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EndDate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-enddate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Schedule": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-schedule",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ScheduleTimezone": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-scheduletimezone",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "StartDate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-startdate",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindow.html#cfn-ssm-maintenancewindow-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::MaintenanceWindowTarget": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "OwnerInformation": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-ownerinformation",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ResourceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-resourcetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Targets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-targets",
        "ItemType": "Targets",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "WindowId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtarget.html#cfn-ssm-maintenancewindowtarget-windowid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SSM::MaintenanceWindowTask": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "LoggingInfo": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-logginginfo",
        "Required": false,
        "Type": "LoggingInfo",
        "UpdateType": "Mutable"
      },
      "MaxConcurrency": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-maxconcurrency",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "MaxErrors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-maxerrors",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Priority": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-priority",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ServiceRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-servicerolearn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Targets": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-targets",
        "ItemType": "Target",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "TaskArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-taskarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TaskInvocationParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-taskinvocationparameters",
        "Required": false,
        "Type": "TaskInvocationParameters",
        "UpdateType": "Mutable"
      },
      "TaskParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-taskparameters",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "TaskType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-tasktype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "WindowId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-maintenancewindowtask.html#cfn-ssm-maintenancewindowtask-windowid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SSM::Parameter": {
    "Attributes": {
      "Type": {
        "PrimitiveType": "String"
      },
      "Value": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html",
    "Properties": {
      "AllowedPattern": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-allowedpattern",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Policies": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-policies",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tier": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-tier",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Type": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-type",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html#cfn-ssm-parameter-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::PatchBaseline": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html",
    "Properties": {
      "ApprovalRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvalrules",
        "Required": false,
        "Type": "RuleGroup",
        "UpdateType": "Mutable"
      },
      "ApprovedPatches": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvedpatches",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ApprovedPatchesComplianceLevel": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvedpatchescompliancelevel",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ApprovedPatchesEnableNonSecurity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-approvedpatchesenablenonsecurity",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GlobalFilters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-globalfilters",
        "Required": false,
        "Type": "PatchFilterGroup",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "OperatingSystem": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-operatingsystem",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PatchGroups": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-patchgroups",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RejectedPatches": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-rejectedpatches",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RejectedPatchesAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-rejectedpatchesaction",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Sources": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-sources",
        "ItemType": "PatchSource",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html#cfn-ssm-patchbaseline-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SSM::ResourceDataSync": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html",
    "Properties": {
      "BucketName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-bucketname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "BucketPrefix": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-bucketprefix",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "BucketRegion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-bucketregion",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "KMSKeyArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-kmskeyarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SyncFormat": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-syncformat",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SyncName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-resourcedatasync.html#cfn-ssm-resourcedatasync-syncname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SageMaker::CodeRepository": {
    "Attributes": {
      "CodeRepositoryName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html",
    "Properties": {
      "CodeRepositoryName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html#cfn-sagemaker-coderepository-coderepositoryname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "GitConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-coderepository.html#cfn-sagemaker-coderepository-gitconfig",
        "Required": true,
        "Type": "GitConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SageMaker::Endpoint": {
    "Attributes": {
      "EndpointName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html",
    "Properties": {
      "EndpointConfigName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-endpointconfigname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "EndpointName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-endpointname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ExcludeRetainedVariantProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-excluderetainedvariantproperties",
        "ItemType": "VariantProperty",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "RetainAllVariantProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-retainallvariantproperties",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpoint.html#cfn-sagemaker-endpoint-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SageMaker::EndpointConfig": {
    "Attributes": {
      "EndpointConfigName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html",
    "Properties": {
      "EndpointConfigName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-endpointconfigname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ProductionVariants": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-productionvariants",
        "ItemType": "ProductionVariant",
        "Required": true,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-endpointconfig.html#cfn-sagemaker-endpointconfig-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SageMaker::Model": {
    "Attributes": {
      "ModelName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html",
    "Properties": {
      "Containers": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-containers",
        "ItemType": "ContainerDefinition",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "ExecutionRoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-executionrolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ModelName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-modelname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PrimaryContainer": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-primarycontainer",
        "Required": false,
        "Type": "ContainerDefinition",
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VpcConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-model.html#cfn-sagemaker-model-vpcconfig",
        "Required": false,
        "Type": "VpcConfig",
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SageMaker::NotebookInstance": {
    "Attributes": {
      "NotebookInstanceName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html",
    "Properties": {
      "AcceleratorTypes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-acceleratortypes",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AdditionalCodeRepositories": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-additionalcoderepositories",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "DefaultCodeRepository": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-defaultcoderepository",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DirectInternetAccess": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-directinternetaccess",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "InstanceType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-instancetype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LifecycleConfigName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-lifecycleconfigname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NotebookInstanceName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-notebookinstancename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RootAccess": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-rootaccess",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SecurityGroupIds": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-securitygroupids",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "SubnetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-subnetid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "VolumeSizeInGB": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstance.html#cfn-sagemaker-notebookinstance-volumesizeingb",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SageMaker::NotebookInstanceLifecycleConfig": {
    "Attributes": {
      "NotebookInstanceLifecycleConfigName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html",
    "Properties": {
      "NotebookInstanceLifecycleConfigName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html#cfn-sagemaker-notebookinstancelifecycleconfig-notebookinstancelifecycleconfigname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "OnCreate": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html#cfn-sagemaker-notebookinstancelifecycleconfig-oncreate",
        "ItemType": "NotebookInstanceLifecycleHook",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "OnStart": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-notebookinstancelifecycleconfig.html#cfn-sagemaker-notebookinstancelifecycleconfig-onstart",
        "ItemType": "NotebookInstanceLifecycleHook",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SageMaker::Workteam": {
    "Attributes": {
      "WorkteamName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "MemberDefinitions": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-memberdefinitions",
        "ItemType": "MemberDefinition",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "NotificationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-notificationconfiguration",
        "Required": false,
        "Type": "NotificationConfiguration",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "WorkteamName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-workteam.html#cfn-sagemaker-workteam-workteamname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SecretsManager::ResourcePolicy": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html",
    "Properties": {
      "ResourcePolicy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html#cfn-secretsmanager-resourcepolicy-resourcepolicy",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "SecretId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-resourcepolicy.html#cfn-secretsmanager-resourcepolicy-secretid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SecretsManager::RotationSchedule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html",
    "Properties": {
      "RotationLambdaARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html#cfn-secretsmanager-rotationschedule-rotationlambdaarn",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "RotationRules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html#cfn-secretsmanager-rotationschedule-rotationrules",
        "Required": false,
        "Type": "RotationRules",
        "UpdateType": "Mutable"
      },
      "SecretId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-rotationschedule.html#cfn-secretsmanager-rotationschedule-secretid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::SecretsManager::Secret": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "GenerateSecretString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-generatesecretstring",
        "Required": false,
        "Type": "GenerateSecretString",
        "UpdateType": "Mutable"
      },
      "KmsKeyId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-kmskeyid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "SecretString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-secretstring",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secret.html#cfn-secretsmanager-secret-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SecretsManager::SecretTargetAttachment": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html",
    "Properties": {
      "SecretId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html#cfn-secretsmanager-secrettargetattachment-secretid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html#cfn-secretsmanager-secrettargetattachment-targetid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "TargetType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-secretsmanager-secrettargetattachment.html#cfn-secretsmanager-secrettargetattachment-targettype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::SecurityHub::Hub": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html",
    "Properties": {
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-securityhub-hub.html#cfn-securityhub-hub-tags",
        "PrimitiveType": "Json",
        "Required": false,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceCatalog::AcceptedPortfolioShare": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html",
    "Properties": {
      "AcceptLanguage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html#cfn-servicecatalog-acceptedportfolioshare-acceptlanguage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PortfolioId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-acceptedportfolioshare.html#cfn-servicecatalog-acceptedportfolioshare-portfolioid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ServiceCatalog::CloudFormationProduct": {
    "Attributes": {
      "ProductName": {
        "PrimitiveType": "String"
      },
      "ProvisioningArtifactIds": {
        "PrimitiveType": "String"
      },
      "ProvisioningArtifactNames": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html",
    "Properties": {
      "AcceptLanguage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-acceptlanguage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Distributor": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-distributor",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Owner": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-owner",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ProvisioningArtifactParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-provisioningartifactparameters",
        "ItemType": "ProvisioningArtifactProperties",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "SupportDescription": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-supportdescription",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SupportEmail": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-supportemail",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "SupportUrl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-supporturl",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationproduct.html#cfn-servicecatalog-cloudformationproduct-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceCatalog::CloudFormationProvisionedProduct": {
    "Attributes": {
      "CloudformationStackArn": {
        "PrimitiveType": "String"
      },
      "RecordId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html",
    "Properties": {
      "AcceptLanguage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-acceptlanguage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NotificationArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-notificationarns",
        "PrimitiveItemType": "String",
        "Required": false,
        "Type": "List",
        "UpdateType": "Immutable"
      },
      "PathId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-pathid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ProductId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-productid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ProductName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-productname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ProvisionedProductName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisionedproductname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ProvisioningArtifactId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningartifactid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ProvisioningArtifactName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningartifactname",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "ProvisioningParameters": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningparameters",
        "ItemType": "ProvisioningParameter",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "ProvisioningPreferences": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-provisioningpreferences",
        "Required": false,
        "Type": "ProvisioningPreferences",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html#cfn-servicecatalog-cloudformationprovisionedproduct-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceCatalog::LaunchNotificationConstraint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html",
    "Properties": {
      "AcceptLanguage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html#cfn-servicecatalog-launchnotificationconstraint-acceptlanguage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html#cfn-servicecatalog-launchnotificationconstraint-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "NotificationArns": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html#cfn-servicecatalog-launchnotificationconstraint-notificationarns",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "PortfolioId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html#cfn-servicecatalog-launchnotificationconstraint-portfolioid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ProductId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchnotificationconstraint.html#cfn-servicecatalog-launchnotificationconstraint-productid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ServiceCatalog::LaunchRoleConstraint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html",
    "Properties": {
      "AcceptLanguage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-acceptlanguage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PortfolioId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-portfolioid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ProductId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-productid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchroleconstraint.html#cfn-servicecatalog-launchroleconstraint-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceCatalog::LaunchTemplateConstraint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html",
    "Properties": {
      "AcceptLanguage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html#cfn-servicecatalog-launchtemplateconstraint-acceptlanguage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html#cfn-servicecatalog-launchtemplateconstraint-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PortfolioId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html#cfn-servicecatalog-launchtemplateconstraint-portfolioid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ProductId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html#cfn-servicecatalog-launchtemplateconstraint-productid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-launchtemplateconstraint.html#cfn-servicecatalog-launchtemplateconstraint-rules",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceCatalog::Portfolio": {
    "Attributes": {
      "PortfolioName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html",
    "Properties": {
      "AcceptLanguage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html#cfn-servicecatalog-portfolio-acceptlanguage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html#cfn-servicecatalog-portfolio-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DisplayName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html#cfn-servicecatalog-portfolio-displayname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ProviderName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html#cfn-servicecatalog-portfolio-providername",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolio.html#cfn-servicecatalog-portfolio-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceCatalog::PortfolioPrincipalAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html",
    "Properties": {
      "AcceptLanguage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html#cfn-servicecatalog-portfolioprincipalassociation-acceptlanguage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PortfolioId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html#cfn-servicecatalog-portfolioprincipalassociation-portfolioid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "PrincipalARN": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html#cfn-servicecatalog-portfolioprincipalassociation-principalarn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "PrincipalType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioprincipalassociation.html#cfn-servicecatalog-portfolioprincipalassociation-principaltype",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ServiceCatalog::PortfolioProductAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html",
    "Properties": {
      "AcceptLanguage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html#cfn-servicecatalog-portfolioproductassociation-acceptlanguage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "PortfolioId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html#cfn-servicecatalog-portfolioproductassociation-portfolioid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ProductId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html#cfn-servicecatalog-portfolioproductassociation-productid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SourcePortfolioId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioproductassociation.html#cfn-servicecatalog-portfolioproductassociation-sourceportfolioid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ServiceCatalog::PortfolioShare": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html",
    "Properties": {
      "AcceptLanguage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html#cfn-servicecatalog-portfolioshare-acceptlanguage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "AccountId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html#cfn-servicecatalog-portfolioshare-accountid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "PortfolioId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-portfolioshare.html#cfn-servicecatalog-portfolioshare-portfolioid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ServiceCatalog::ResourceUpdateConstraint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html",
    "Properties": {
      "AcceptLanguage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html#cfn-servicecatalog-resourceupdateconstraint-acceptlanguage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html#cfn-servicecatalog-resourceupdateconstraint-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "PortfolioId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html#cfn-servicecatalog-resourceupdateconstraint-portfolioid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ProductId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html#cfn-servicecatalog-resourceupdateconstraint-productid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "TagUpdateOnProvisionedProduct": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-resourceupdateconstraint.html#cfn-servicecatalog-resourceupdateconstraint-tagupdateonprovisionedproduct",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceCatalog::StackSetConstraint": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html",
    "Properties": {
      "AcceptLanguage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-acceptlanguage",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "AccountList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-accountlist",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "AdminRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-adminrole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-description",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ExecutionRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-executionrole",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "PortfolioId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-portfolioid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "ProductId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-productid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RegionList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-regionlist",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "StackInstanceControl": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-stacksetconstraint.html#cfn-servicecatalog-stacksetconstraint-stackinstancecontrol",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::ServiceCatalog::TagOption": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html",
    "Properties": {
      "Active": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html#cfn-servicecatalog-tagoption-active",
        "PrimitiveType": "Boolean",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Key": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html#cfn-servicecatalog-tagoption-key",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Value": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoption.html#cfn-servicecatalog-tagoption-value",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ServiceCatalog::TagOptionAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html",
    "Properties": {
      "ResourceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html#cfn-servicecatalog-tagoptionassociation-resourceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "TagOptionId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-tagoptionassociation.html#cfn-servicecatalog-tagoptionassociation-tagoptionid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ServiceDiscovery::HttpNamespace": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html#cfn-servicediscovery-httpnamespace-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-httpnamespace.html#cfn-servicediscovery-httpnamespace-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ServiceDiscovery::Instance": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html",
    "Properties": {
      "InstanceAttributes": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html#cfn-servicediscovery-instance-instanceattributes",
        "PrimitiveType": "Json",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "InstanceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html#cfn-servicediscovery-instance-instanceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "ServiceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-instance.html#cfn-servicediscovery-instance-serviceid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ServiceDiscovery::PrivateDnsNamespace": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html#cfn-servicediscovery-privatednsnamespace-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html#cfn-servicediscovery-privatednsnamespace-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Vpc": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-privatednsnamespace.html#cfn-servicediscovery-privatednsnamespace-vpc",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ServiceDiscovery::PublicDnsNamespace": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html#cfn-servicediscovery-publicdnsnamespace-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-publicdnsnamespace.html#cfn-servicediscovery-publicdnsnamespace-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::ServiceDiscovery::Service": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      },
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "DnsConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-dnsconfig",
        "Required": false,
        "Type": "DnsConfig",
        "UpdateType": "Mutable"
      },
      "HealthCheckConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-healthcheckconfig",
        "Required": false,
        "Type": "HealthCheckConfig",
        "UpdateType": "Mutable"
      },
      "HealthCheckCustomConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-healthcheckcustomconfig",
        "Required": false,
        "Type": "HealthCheckCustomConfig",
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-name",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "NamespaceId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html#cfn-servicediscovery-service-namespaceid",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::StepFunctions::Activity": {
    "Attributes": {
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html#cfn-stepfunctions-activity-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-activity.html#cfn-stepfunctions-activity-tags",
        "ItemType": "TagsEntry",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::StepFunctions::StateMachine": {
    "Attributes": {
      "Name": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html",
    "Properties": {
      "DefinitionString": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitionstring",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "LoggingConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration",
        "Required": false,
        "Type": "LoggingConfiguration",
        "UpdateType": "Mutable"
      },
      "RoleArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-rolearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "StateMachineName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinename",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "StateMachineType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinetype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tags",
        "ItemType": "TagsEntry",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Transfer::Server": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "ServerId": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html",
    "Properties": {
      "EndpointDetails": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-endpointdetails",
        "Required": false,
        "Type": "EndpointDetails",
        "UpdateType": "Mutable"
      },
      "EndpointType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-endpointtype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IdentityProviderDetails": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-identityproviderdetails",
        "Required": false,
        "Type": "IdentityProviderDetails",
        "UpdateType": "Mutable"
      },
      "IdentityProviderType": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-identityprovidertype",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Immutable"
      },
      "LoggingRole": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-loggingrole",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::Transfer::User": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "ServerId": {
        "PrimitiveType": "String"
      },
      "UserName": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html",
    "Properties": {
      "HomeDirectory": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-homedirectory",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Policy": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-policy",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Role": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-role",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "ServerId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-serverid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SshPublicKeys": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-sshpublickeys",
        "ItemType": "SshPublicKey",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-tags",
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "UserName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-username",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "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::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::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::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::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::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::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::WAFRegional::ByteMatchSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html",
    "Properties": {
      "ByteMatchTuples": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html#cfn-wafregional-bytematchset-bytematchtuples",
        "ItemType": "ByteMatchTuple",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html#cfn-wafregional-bytematchset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::WAFRegional::GeoMatchSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html",
    "Properties": {
      "GeoMatchConstraints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html#cfn-wafregional-geomatchset-geomatchconstraints",
        "ItemType": "GeoMatchConstraint",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html#cfn-wafregional-geomatchset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::WAFRegional::IPSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html",
    "Properties": {
      "IPSetDescriptors": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html#cfn-wafregional-ipset-ipsetdescriptors",
        "ItemType": "IPSetDescriptor",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html#cfn-wafregional-ipset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::WAFRegional::RateBasedRule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html",
    "Properties": {
      "MatchPredicates": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-matchpredicates",
        "ItemType": "Predicate",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RateKey": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratekey",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RateLimit": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratelimit",
        "PrimitiveType": "Integer",
        "Required": true,
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::RegexPatternSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html#cfn-wafregional-regexpatternset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "RegexPatternStrings": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html#cfn-wafregional-regexpatternset-regexpatternstrings",
        "PrimitiveItemType": "String",
        "Required": true,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::Rule": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html",
    "Properties": {
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html#cfn-wafregional-rule-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html#cfn-wafregional-rule-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Predicates": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html#cfn-wafregional-rule-predicates",
        "ItemType": "Predicate",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::SizeConstraintSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html#cfn-wafregional-sizeconstraintset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SizeConstraints": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html#cfn-wafregional-sizeconstraintset-sizeconstraints",
        "ItemType": "SizeConstraint",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::SqlInjectionMatchSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html#cfn-wafregional-sqlinjectionmatchset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "SqlInjectionMatchTuples": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html#cfn-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuples",
        "ItemType": "SqlInjectionMatchTuple",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::WebACL": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html",
    "Properties": {
      "DefaultAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html#cfn-wafregional-webacl-defaultaction",
        "Required": true,
        "Type": "Action",
        "UpdateType": "Mutable"
      },
      "MetricName": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html#cfn-wafregional-webacl-metricname",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html#cfn-wafregional-webacl-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html#cfn-wafregional-webacl-rules",
        "ItemType": "Rule",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFRegional::WebACLAssociation": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html",
    "Properties": {
      "ResourceArn": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html#cfn-wafregional-webaclassociation-resourcearn",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "WebACLId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html#cfn-wafregional-webaclassociation-webaclid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  },
  "AWS::WAFRegional::XssMatchSet": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html",
    "Properties": {
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html#cfn-wafregional-xssmatchset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      },
      "XssMatchTuples": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html#cfn-wafregional-xssmatchset-xssmatchtuples",
        "ItemType": "XssMatchTuple",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::IPSet": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html",
    "Properties": {
      "Addresses": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html#cfn-wafv2-ipset-addresses",
        "Required": false,
        "Type": "IPAddresses",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html#cfn-wafv2-ipset-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "IPAddressVersion": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html#cfn-wafv2-ipset-ipaddressversion",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html#cfn-wafv2-ipset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Scope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html#cfn-wafv2-ipset-scope",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-ipset.html#cfn-wafv2-ipset-tags",
        "Required": false,
        "Type": "TagList",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RegexPatternSet": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html",
    "Properties": {
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html#cfn-wafv2-regexpatternset-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html#cfn-wafv2-regexpatternset-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "RegularExpressionList": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html#cfn-wafv2-regexpatternset-regularexpressionlist",
        "Required": false,
        "Type": "RegularExpressionList",
        "UpdateType": "Mutable"
      },
      "Scope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html#cfn-wafv2-regexpatternset-scope",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-regexpatternset.html#cfn-wafv2-regexpatternset-tags",
        "Required": false,
        "Type": "TagList",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::RuleGroup": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Id": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html",
    "Properties": {
      "Capacity": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-capacity",
        "PrimitiveType": "Integer",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-rules",
        "Required": false,
        "Type": "Rules",
        "UpdateType": "Mutable"
      },
      "Scope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-scope",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-tags",
        "Required": false,
        "Type": "TagList",
        "UpdateType": "Mutable"
      },
      "VisibilityConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-visibilityconfig",
        "Required": false,
        "Type": "VisibilityConfig",
        "UpdateType": "Mutable"
      }
    }
  },
  "AWS::WAFv2::WebACL": {
    "Attributes": {
      "Arn": {
        "PrimitiveType": "String"
      },
      "Capacity": {
        "PrimitiveType": "Integer"
      },
      "Id": {
        "PrimitiveType": "String"
      }
    },
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html",
    "Properties": {
      "DefaultAction": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-defaultaction",
        "Required": false,
        "Type": "DefaultAction",
        "UpdateType": "Mutable"
      },
      "Description": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-description",
        "PrimitiveType": "String",
        "Required": false,
        "UpdateType": "Mutable"
      },
      "Name": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-name",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Rules": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-rules",
        "Required": false,
        "Type": "Rules",
        "UpdateType": "Mutable"
      },
      "Scope": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-scope",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Mutable"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-tags",
        "Required": false,
        "Type": "TagList",
        "UpdateType": "Mutable"
      },
      "VisibilityConfig": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html#cfn-wafv2-webacl-visibilityconfig",
        "Required": false,
        "Type": "VisibilityConfig",
        "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"
      },
      "Tags": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-tags",
        "DuplicatesAllowed": true,
        "ItemType": "Tag",
        "Required": false,
        "Type": "List",
        "UpdateType": "Mutable"
      },
      "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"
      },
      "WorkspaceProperties": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-workspaces-workspace.html#cfn-workspaces-workspace-workspaceproperties",
        "Required": false,
        "Type": "WorkspaceProperties",
        "UpdateType": "Mutable"
      }
    }
  },
  "Alexa::ASK::Skill": {
    "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ask-skill.html",
    "Properties": {
      "AuthenticationConfiguration": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ask-skill.html#cfn-ask-skill-authenticationconfiguration",
        "Required": true,
        "Type": "AuthenticationConfiguration",
        "UpdateType": "Mutable"
      },
      "SkillPackage": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ask-skill.html#cfn-ask-skill-skillpackage",
        "Required": true,
        "Type": "SkillPackage",
        "UpdateType": "Mutable"
      },
      "VendorId": {
        "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ask-skill.html#cfn-ask-skill-vendorid",
        "PrimitiveType": "String",
        "Required": true,
        "UpdateType": "Immutable"
      }
    }
  }
}

}